/* AVS WooCommerce Wholesale — minimal component styles. Disable under Wholesale > Display if the theme styles them. */
:root {
	--avsww-accent: #1f6feb;
	--avsww-success: #1a7f37;
	--avsww-muted: #6b7280;
	--avsww-border: #e5e7eb;
	--avsww-radius: 6px;
}
.avsww-price__mrp, .avsww-savings__mrp del { color: var(--avsww-muted); }
.avsww-price__unit, .avsww-price__gst { color: var(--avsww-muted); font-size: .85em; }
.avsww-summary { margin: 0 0 1em; }
.avsww-savings { display: flex; flex-wrap: wrap; gap: .25em 1em; margin: .5em 0; }
.avsww-savings__saving { color: var(--avsww-success); font-weight: 600; }
.avsww-savings__next { flex-basis: 100%; color: var(--avsww-accent); font-size: .9em; }
.avsww-savings__gst { flex-basis: 100%; color: var(--avsww-muted); }
.avsww-price-table { margin: .75em 0; }
.avsww-price-table__title { font-weight: 600; margin: 0 0 .25em; }
.avsww-price-table table { width: 100%; max-width: 360px; border-collapse: collapse; }
.avsww-price-table th, .avsww-price-table td { padding: .35em .6em; border-bottom: 1px solid var(--avsww-border); text-align: left; font-weight: normal; }
.avsww-price-table tr.is-active { background: #eef6ff; font-weight: 600; }
.avsww-moq { color: var(--avsww-muted); font-size: .9em; }
.avsww-packaging { display: flex; flex-wrap: wrap; gap: .5em; margin: .75em 0; }
.avsww-packaging__level { border: 1px solid var(--avsww-border); border-radius: var(--avsww-radius); padding: .4em .7em; display: flex; flex-direction: column; min-width: 90px; }
.avsww-packaging__level.is-selling-unit { border-color: var(--avsww-accent); }
.avsww-packaging__label { font-weight: 600; text-transform: uppercase; font-size: .8em; letter-spacing: .04em; }
.avsww-packaging__desc { font-size: .85em; color: var(--avsww-muted); }
.avsww-add-package { margin-top: .3em; font-size: .8em; background: none; border: 1px dashed var(--avsww-accent); color: var(--avsww-accent); border-radius: var(--avsww-radius); cursor: pointer; padding: .15em .4em; }
.avsww-quote-button { margin-left: .5em; }
form.cart .avsww-quote-button, form.cart ~ .avsww-whatsapp { margin-top: .5em; }
.avsww-whatsapp { display: inline-block; }
.avsww-quote-form { display: flex; flex-wrap: wrap; gap: .5em; align-items: center; margin: .75em 0; }
.avsww-whatsapp { margin-left: .5em; }
.avsww-loop-moq { display: block; font-size: .8em; color: var(--avsww-muted); }
.avsww-qty-message:not(:empty) { color: #b42318; font-size: .9em; margin: .25em 0; }
.avsww-notice { padding: .75em 1em; border-left: 4px solid var(--avsww-accent); background: #f6f8fa; margin: 0 0 1em; }
.avsww-notice--error { border-color: #b42318; }
.avsww-notice--success { border-color: var(--avsww-success); }
.avsww-registration__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0 1.25em; }
.avsww-field label { display: block; font-weight: 600; margin-bottom: .2em; }
.avsww-field input, .avsww-field select, .avsww-field textarea { width: 100%; box-sizing: border-box; }
.avsww-field--wide { grid-column: 1 / -1; }
.avsww-field__help { color: var(--avsww-muted); }
.avsww-hp { position: absolute !important; left: -9999px !important; height: 1px; overflow: hidden; }
.avsww-status { padding: .1em .5em; border-radius: 3px; background: #eef2f7; font-size: .8em; }
.avsww-status--quoted { background: #dbeafe; }
.avsww-status--accepted, .avsww-status--converted { background: #dcfce7; }
.avsww-status--rejected, .avsww-status--expired { background: #fee2e2; }
.avsww-link { background: none; border: 0; cursor: pointer; font-size: 1.25em; line-height: 1; }
.avsww-history { list-style: none; margin: 0; padding: 0; }
.avsww-history li { padding: .4em 0; border-bottom: 1px solid var(--avsww-border); }

/* ===== Wholesale box / panel / cart (v0.2) — override the variables in your theme to restyle ===== */
:root {
	--avsww-primary: #f5821f;
	--avsww-primary-dark: #d96b0b;
	--avsww-primary-soft: #fde3c9;
	--avsww-primary-tint: #fff3e8;
	--avsww-moq: #b45309;
	--avsww-ink: #111827;
	--avsww-chip: #f1f2f4;
	--avsww-green: #15803d;
	--avsww-whatsapp: #166534;
	--avsww-danger: #dc2626;
	--avsww-danger-soft: #fdecec;
	--avsww-radius: 8px;
	--avsww-btn-radius: 6px;
}
.avsww-icon { width: 1.1em; height: 1.1em; flex: none; vertical-align: -0.15em; }
.avsww-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5em; padding: .8em 1.2em; border-radius: var(--avsww-radius); border: 1px solid transparent; font-weight: 600; line-height: 1.2; cursor: pointer; text-decoration: none; transition: background-color .15s, border-color .15s, opacity .15s; }
.avsww-btn:focus-visible, .avsww-stepper__btn:focus-visible, .avsww-link-btn:focus-visible, .avsww-mini-btn:focus-visible { outline: 2px solid var(--avsww-ink); outline-offset: 2px; }
.avsww-btn--cart { background: var(--avsww-primary); color: #fff; }
.avsww-btn--cart:hover { background: var(--avsww-primary-dark); color: #fff; }
.avsww-btn--outline { background: #fff; color: var(--avsww-ink); border-color: var(--avsww-ink); }
.avsww-btn--outline:hover { background: var(--avsww-ink); color: #fff; }
.avsww-btn--soft { background: var(--avsww-chip); color: var(--avsww-ink); }
.avsww-btn--whatsapp { background: var(--avsww-whatsapp); color: #fff; width: 100%; }
.avsww-btn--whatsapp:hover { background: #14532d; color: #fff; }
.avsww-btn--block { width: 100%; }
.avsww-btn--sm { padding: .6em 1em; font-size: .9em; }
.avsww-btn.is-loading, .avsww-btn[disabled] { opacity: .6; cursor: progress; }
.avsww-link-btn { display: inline-flex; align-items: center; gap: .35em; background: none; border: 0; padding: .25em; color: var(--avsww-ink); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; font: inherit; }
.avsww-msg { margin: .35em 0 0; font-size: .85em; min-height: 0; }
.avsww-msg:empty { display: none; }
.avsww-msg.is-error { color: var(--avsww-danger); }
.avsww-msg.is-success { color: var(--avsww-green); }
.avsww-msg a { margin-left: .25em; font-weight: 600; }

/* Stepper */
.avsww-stepper { display: inline-flex; align-items: stretch; border: 1px solid #d1d5db; border-radius: var(--avsww-radius); background: #fff; overflow: hidden; }
.avsww-stepper__btn { width: 2.4em; min-height: 2.6em; border: 0; background: transparent; color: var(--avsww-ink); font-size: 1.05em; cursor: pointer; padding: 0; }
.avsww-stepper__btn:hover { background: var(--avsww-chip); }
.avsww-stepper input, .avsww-stepper .qty { width: 3.2em; border: 0 !important; text-align: center; font-weight: 600; background: transparent; box-shadow: none !important; padding: 0; -moz-appearance: textfield; margin: 0; }
.avsww-stepper input::-webkit-outer-spin-button, .avsww-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.avsww-stepper .quantity { margin: 0 !important; display: flex; }
.avsww-stepper--lg .avsww-stepper__btn { width: 3em; min-height: 3em; }
.avsww-stepper--lg input { width: 4em; }

/* Card box */
.avsww-box { margin: .75em 0 0; text-align: center; font-size: .875rem; }
.avsww-box .avsww-stepper__btn { width: 2em; }
.avsww-box .avsww-stepper input { width: 2.6em; }
.avsww-box .avsww-btn--cart { white-space: nowrap; padding-left: .8em; padding-right: .8em; }
.avsww-box__meta { margin: 0 0 .5em; font-size: .85em; color: #4b5563; }
.avsww-box__sep { margin: 0 .3em; }
.avsww-box__moq { color: var(--avsww-moq); }
.avsww-box__best { margin: 0 0 .65em; font-size: .85em; color: #4b5563; }
.avsww-box__chips { display: flex; flex-wrap: wrap; justify-content: center; gap: .35em; margin: 0 0 .65em; }
.avsww-chip { padding: .25em .5em; border-radius: 6px; background: var(--avsww-chip); font-size: .82em; font-weight: 600; color: #374151; white-space: nowrap; }
.avsww-chip.is-active { background: var(--avsww-ink); color: #fff; }
.avsww-box__buy { display: flex; gap: .5em; align-items: stretch; }
.avsww-box__buy .avsww-btn--cart { flex: 1; }
.avsww-box__quote { margin-top: .5em; font-size: .9em; }
.avsww-box__login a, .avsww-panel__login a { font-weight: 600; }
.avsww-box__stock.is-out { color: var(--avsww-danger); }

/* Product panel */
.avsww-panel { margin: 1em 0; }
.avsww-panel__chips { display: flex; flex-wrap: wrap; align-items: center; gap: .5em; margin: 0 0 1em; }
.avsww-pill { padding: .4em .8em; border-radius: 999px; background: var(--avsww-chip); font-size: .85em; }
.avsww-pill--moq { background: var(--avsww-primary-soft); color: var(--avsww-moq); font-weight: 600; }
.avsww-stock { font-size: .85em; }
.avsww-stock.is-in { color: var(--avsww-green); }
.avsww-stock.is-in::before { content: ""; display: inline-block; width: .5em; height: .5em; border-radius: 50%; background: currentColor; margin-right: .4em; vertical-align: .1em; }
.avsww-stock.is-out { color: var(--avsww-danger); }
.avsww-break { border: 1px solid #e5e7eb; border-radius: 12px; overflow: hidden; margin: 0 0 1.25em; }
.avsww-break__head { display: flex; justify-content: space-between; align-items: center; gap: .5em; padding: .9em 1em; background: var(--avsww-primary-soft); }
.avsww-break__title { font-weight: 700; }
.avsww-break__badge { background: var(--avsww-primary); color: #fff; font-size: .8em; font-weight: 600; padding: .3em .8em; border-radius: 999px; }
.avsww-break__table { width: 100%; border-collapse: collapse; margin: 0 !important; }
.avsww-break__table th { text-align: left; font-weight: 500; color: #4b5563; font-size: .85em; background: #fafafa; padding: .7em 1em; border: 0; border-bottom: 1px solid #e5e7eb; }
.avsww-break__table td { padding: .85em 1em; border: 0; border-top: 1px solid #eef0f2; }
.avsww-break__price { font-weight: 600; }
.avsww-break__save { color: var(--avsww-green); }
.avsww-break__table tr.is-active td { background: var(--avsww-primary-tint); font-weight: 600; }
.avsww-your-price { display: none; margin-left: .4em; padding: .15em .5em; border-radius: 999px; background: var(--avsww-ink); color: #fff; font-size: .7em; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; vertical-align: .1em; }
.avsww-break__table tr.is-active .avsww-your-price { display: inline-block; }
.avsww-panel__buy { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 1em; align-items: start; margin: 0 0 1em; }
.avsww-panel__qty label { display: block; font-weight: 600; margin: 0 0 .4em; }
.avsww-panel__packages { display: flex; flex-wrap: wrap; gap: .4em; margin-top: .6em; }
.avsww-mini-btn { background: #fff; border: 1px solid #d1d5db; border-radius: 999px; padding: .3em .75em; font-size: .8em; cursor: pointer; color: var(--avsww-ink); }
.avsww-mini-btn:hover { border-color: var(--avsww-ink); }
.avsww-estimate { background: #f3f4f6; border-radius: 12px; padding: 1em 1.1em; }
.avsww-estimate__label { display: block; font-size: .75em; text-transform: uppercase; letter-spacing: .06em; color: #6b7280; margin-bottom: .3em; }
.avsww-estimate__row { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5em; }
.avsww-estimate__total { font-size: 1.6em; line-height: 1.2; }
.avsww-estimate__of { color: #6b7280; font-size: .9em; }
.avsww-estimate__save { margin: .4em 0 0; color: var(--avsww-green); font-size: .9em; }
.avsww-estimate__save span:empty { display: none; }
.avsww-estimate__next { margin: .25em 0 0; color: var(--avsww-moq); font-size: .9em; }
.avsww-estimate__next:empty { display: none; }
.avsww-panel__actions { display: grid; grid-template-columns: 1fr 1fr; gap: .75em; margin: 0 0 .75em; }
.avsww-panel__actions .avsww-btn { text-transform: uppercase; width: 100%; }
.avsww-panel__actions .avsww-btn:only-child { grid-column: 1 / -1; }
@media (max-width: 600px) {
	.avsww-panel__buy, .avsww-panel__actions { grid-template-columns: 1fr; }
}

/* Cart page */
.avsww-cart-meta { display: inline-flex; flex-direction: column; margin-top: .4em; padding: .35em .6em; border: 1px solid #e5e7eb; border-radius: 6px; font-size: .78em; color: #4b5563; line-height: 1.5; }
.avsww-cart-price { display: block; font-weight: 600; }
.avsww-cart-mrp { display: block; color: #9ca3af; font-size: .85em; }
.avsww-cart-qty { display: inline-flex; flex-direction: column; align-items: center; gap: .3em; }
.avsww-cart-qty.is-invalid .avsww-stepper { border-color: var(--avsww-danger); background: var(--avsww-danger-soft); }
.avsww-cart-hint { margin: 0; font-size: .75em; color: var(--avsww-moq); white-space: nowrap; }
.avsww-cart-hint.is-error { color: var(--avsww-danger); text-decoration: underline; }
.woocommerce-cart-form .product-subtotal .amount { color: var(--avsww-primary-dark); font-weight: 600; }
.avsww-summary-row.avsww-row-savings th, .avsww-summary-row.avsww-row-savings td { color: var(--avsww-green); font-weight: 600; }
.avsww-summary-row.avsww-row-taxable th, .avsww-summary-row.avsww-row-taxable td, .avsww-summary-row.avsww-row-gst th, .avsww-summary-row.avsww-row-gst td { font-size: .85em; color: #4b5563; font-weight: 400; }
.avsww-cart-summary .avsww-summary-row { display: flex; justify-content: space-between; gap: 1em; padding: .35em 0; }
.avsww-cart-gstin { margin: 0 0 .75em; }
.avsww-cart-gstin label { display: block; font-size: .85em; font-weight: 600; margin-bottom: .3em; }
.avsww-cart-gstin input { width: 100%; text-transform: uppercase; }
.avsww-cart-gstin.is-invalid input { border-color: var(--avsww-danger); }
.avsww-cart-gstin__msg { margin: .3em 0 0; font-size: .8em; }
.avsww-cart-gstin__msg:empty { display: none; }
.avsww-cart-gstin.is-invalid .avsww-cart-gstin__msg { color: var(--avsww-danger); }
.avsww-cart-error { margin: 0 0 .75em; padding: .6em .8em; border-radius: 6px; background: var(--avsww-danger-soft); color: var(--avsww-danger); font-size: .85em; }
.avsww-checkout-disabled { display: block; text-align: center; opacity: .45; cursor: not-allowed; pointer-events: none; }
.avsww-cart-side { display: grid; gap: .6em; margin-top: .75em; }
.avsww-cart-side .avsww-btn { text-transform: uppercase; }
.avsww-cart-actions { display: inline-flex; flex-wrap: wrap; gap: .5em; margin-left: .5em; vertical-align: middle; }
.avsww-upload { margin: 1em 0; padding: 1em; border: 1px dashed #d1d5db; border-radius: 10px; background: #fafafa; }
.avsww-upload[hidden] { display: none; }
.avsww-upload textarea { width: 100%; font-family: monospace; }
.avsww-upload__row { display: flex; flex-wrap: wrap; gap: .5em; align-items: center; justify-content: space-between; margin-top: .5em; }
.avsww-upload__help { margin: 0 0 .5em; font-size: .85em; color: #4b5563; }
.avsww-reorder { margin: 1.25em 0; padding: 1em; border: 1px solid #e5e7eb; border-radius: 12px; }
.avsww-reorder__head { display: flex; justify-content: space-between; align-items: center; gap: 1em; margin-bottom: .75em; }
.avsww-reorder__title { display: inline-flex; align-items: center; gap: .4em; font-weight: 700; }
.avsww-reorder__all { color: var(--avsww-primary-dark); font-weight: 600; text-decoration: none; }
.avsww-reorder__items { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: .6em; }
.avsww-reorder__item { display: flex; align-items: center; gap: .6em; padding: .5em .6em; background: #f9fafb; border-radius: 10px; }
.avsww-reorder__item img { width: 40px; height: 40px; object-fit: contain; border-radius: 6px; background: #fff; }
.avsww-reorder__text { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.avsww-reorder__name { font-size: .85em; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.avsww-reorder__meta { font-size: .75em; color: #6b7280; }
.avsww-reorder__add { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 2em; height: 2em; border-radius: 50%; background: var(--avsww-primary); color: #fff; text-decoration: none; }
.avsww-reorder__add:hover { background: var(--avsww-primary-dark); color: #fff; }
.avsww-cart-tools__buttons { display: flex; flex-wrap: wrap; gap: .5em; }
.avsww-break__price, .avsww-break__save, .avsww-break__badge, .avsww-pill, .avsww-estimate__total, .avsww-chip .amount { white-space: nowrap; }
.avsww-break__table th, .avsww-break__table td { font-size: .95em; }
@media (max-width: 480px) {
	.avsww-break__head { flex-wrap: wrap; }
	.avsww-break__table th, .avsww-break__table td { padding: .6em .6em; font-size: .88em; }
}
.avsww-btn, .avsww-stepper, .avsww-estimate, .avsww-break, .avsww-upload { box-sizing: border-box; }
.avsww-panel .avsww-btn { font-size: 1rem; padding: .95em 1.2em; letter-spacing: .01em; }
.avsww-panel .avsww-btn--whatsapp { text-transform: none; }
.avsww-stepper input, .avsww-stepper .qty { font-size: 1rem; }
.avsww-cart-gstin input { box-sizing: border-box; padding: .65em .8em; border: 1px solid #d1d5db; border-radius: 6px; background: #fff; font-size: .95em; }
.avsww-checkout-disabled { padding: .9em 1em; border: 1px solid #d1d5db; border-radius: 6px; background: #e5e7eb; color: #6b7280; text-transform: uppercase; opacity: 1; }

/* Theme-proofing: page builders (Impreza, WPBakery, Astra…) style every <button> and <input>, often with !important.
   Selectors below are deliberately specific so the wholesale controls keep their design. */
.avsww-box .avsww-btn[class], .avsww-panel .avsww-btn[class], .avsww-cart-side .avsww-btn[class] { border-radius: var(--avsww-btn-radius, 6px) !important; box-shadow: none !important; }
.avsww-box .avsww-btn[class] { padding: .75em .8em !important; font-size: .9rem !important; font-weight: 600 !important; line-height: 1.2 !important; min-height: 0 !important; }
.avsww-box .avsww-btn svg, .avsww-panel .avsww-btn svg { flex: none; }
.avsww-box button.avsww-link-btn[type], .avsww-panel button.avsww-link-btn[type], .avsww-box a.avsww-link-btn[class] { background: none !important; color: var(--avsww-ink) !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: .25em !important; min-height: 0 !important; font-size: .85rem !important; font-weight: 500 !important; line-height: 1.4 !important; text-transform: none !important; letter-spacing: 0 !important; width: auto !important; text-decoration: underline !important; }
.avsww-box button.avsww-link-btn[type]:hover, .avsww-panel button.avsww-link-btn[type]:hover { color: var(--avsww-primary-dark) !important; }
.avsww-stepper input.avsww-qty-input[type], .avsww-stepper input.qty[type] { padding: 0 !important; min-width: 2.4em; height: auto !important; min-height: 0 !important; border-radius: 0 !important; color: var(--avsww-ink) !important; background: transparent !important; }
.avsww-stepper button.avsww-stepper__btn[type] { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important; color: var(--avsww-ink) !important; font-weight: 400 !important; min-width: 0 !important; line-height: 1 !important; }
.avsww-stepper button.avsww-stepper__btn[type]:hover { background: var(--avsww-chip) !important; }

/* ===== Mini cart (header cart dropdown) ===== */
.avsww-mini { --m-primary: var(--avsww-primary, #f5821f); --m-dark: #c2580a; --m-tint: #fdebd9; --m-line: #ececec; --m-muted: #6b6b6b; --m-red: #b91c1c; --m-red-soft: #fdecec; --m-green: #15803d; box-sizing: border-box; width: 100%; background: #fff; color: #1f1f1f; font-size: 14px; line-height: 1.4; text-align: left; }
.avsww-mini *, .avsww-mini *::before, .avsww-mini *::after { box-sizing: border-box; }
.avsww-mini p { margin: 0; }
.avsww-mini ul { list-style: none; margin: 0; padding: 0; }
.avsww-mini li::before { content: none; }
.avsww-mini svg { width: 16px; height: 16px; flex: none; }
.avsww-mini__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--m-line); }
.avsww-mini__title { font-size: 17px; }
.avsww-mini__title span { color: var(--m-muted); font-weight: 400; }
.avsww-mini__close { flex: none; width: 34px; height: 34px; border-radius: 50%; border: 0; background: #f2f2f3; color: #1f1f1f; font-size: 22px; line-height: 1; cursor: pointer; display: grid; place-items: center; padding: 0; }
.avsww-mini__close:hover { background: #e7e7e9; }
.avsww-mini__items { max-height: min(420px, 55vh); overflow-y: auto; overscroll-behavior: contain; padding: 0 20px; }
.avsww-mini__item { position: relative; padding: 16px 0; border-bottom: 1px solid var(--m-line); margin: 0 !important; }
.avsww-mini__item:last-child { border-bottom: 0; }
.avsww-mini__item.is-loading { opacity: .55; pointer-events: none; }
.avsww-mini__row { display: flex; gap: 14px; }
.avsww-mini__thumb { flex: none; width: 64px; height: 64px; border: 1px solid var(--m-line); border-radius: 10px; display: grid; place-items: center; overflow: hidden; background: #fff; }
.avsww-mini__thumb img { width: 100% !important; height: 100% !important; object-fit: contain; margin: 0 !important; float: none !important; }
.avsww-mini__info { flex: 1; min-width: 0; }
.avsww-mini__name-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.avsww-mini__name { font-size: 15px; font-weight: 600; color: #1f1f1f !important; text-decoration: none !important; }
.avsww-mini__name:hover { color: var(--m-dark) !important; }
.avsww-mini__remove { flex: none; color: #9a9a9a !important; font-size: 20px; line-height: 1; text-decoration: none !important; position: static !important; width: auto !important; height: auto !important; background: none !important; }
.avsww-mini__remove:hover { color: var(--m-red) !important; }
.avsww-mini__meta { margin-top: 4px !important; font-size: 13px; color: var(--m-muted); }
.avsww-mini__variation { font-size: 12px; color: var(--m-muted); }
.avsww-mini__variation dl { margin: 2px 0 0; }
.avsww-mini__buy { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin-top: 10px; flex-wrap: wrap; }
.avsww-stepper--mini .avsww-stepper__btn { width: 30px; min-height: 34px; }
.avsww-stepper--mini input.avsww-mini__qty { width: 40px; min-width: 0; border: 0 !important; text-align: center; font-weight: 600; font-size: 14px; padding: 0 !important; height: auto !important; min-height: 0 !important; background: transparent !important; box-shadow: none !important; -moz-appearance: textfield; color: #1f1f1f !important; }
.avsww-stepper--mini input.avsww-mini__qty::-webkit-inner-spin-button, .avsww-stepper--mini input.avsww-mini__qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.avsww-mini__prices { display: flex; flex-direction: column; align-items: flex-end; text-align: right; margin-left: auto; }
.avsww-mini__each { font-size: 13px; color: var(--m-muted); white-space: nowrap; }
.avsww-mini__each del { margin-right: 4px; color: #9a9a9a; }
.avsww-mini__line { font-size: 17px; font-weight: 700; color: var(--m-primary); }
.avsww-mini__line .amount { color: inherit; }
.avsww-mini__hint { margin-top: 12px; padding: 10px 12px; border-radius: 8px; background: var(--m-tint); color: #9a3412; font-size: 13px; }
.avsww-mini__hint-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.avsww-mini__hint-add { flex: none; border: 0; background: none; padding: 0; font: inherit; font-weight: 700; color: #9a3412; text-decoration: underline; cursor: pointer; }
.avsww-mini__bar { display: block; height: 4px; margin-top: 8px; border-radius: 4px; background: rgba(255, 255, 255, .8); overflow: hidden; }
.avsww-mini__bar span { display: block; height: 100%; border-radius: 4px; background: var(--m-primary); transition: width .3s; }
.avsww-mini__item.is-below .avsww-stepper, .avsww-mini__item.is-invalid .avsww-stepper { border-color: var(--m-red); background: var(--m-red-soft); }
.avsww-mini__item.is-below .avsww-mini__meta { color: var(--m-red); }
.avsww-mini__item.is-below .avsww-mini__hint, .avsww-mini__item.is-invalid .avsww-mini__hint { background: var(--m-red-soft); color: var(--m-red); }
.avsww-mini__item.is-below .avsww-mini__hint-add, .avsww-mini__item.is-invalid .avsww-mini__hint-add { color: var(--m-red); }
.avsww-mini__item.is-below .avsww-mini__bar span { background: var(--m-red); }
.avsww-mini__foot { padding: 16px 20px 18px; background: #fafafa; border-top: 1px solid var(--m-line); }
.avsww-mini__savings, .avsww-mini__subtotal { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.avsww-mini__savings { font-size: 13px; color: var(--m-green); margin-bottom: 8px !important; }
.avsww-mini__subtotal { font-size: 16px; padding: 0 !important; border: 0 !important; }
.avsww-mini__subtotal strong { font-size: 21px; font-weight: 700; }
.avsww-mini__note { margin-top: 4px !important; font-size: 12px; color: var(--m-muted); }
.avsww-mini__error { margin-top: 10px !important; font-size: 13px; color: var(--m-red); }
.avsww-mini__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 14px 0 0 !important; padding: 0 !important; }
.avsww-mini__btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 46px; padding: 10px 16px; border-radius: 999px; font-size: 15px; font-weight: 600; text-decoration: none !important; text-align: center; transition: filter .15s, background .15s; }
.avsww-mini__btn.is-primary { background: var(--m-primary); color: #fff !important; border: 1px solid var(--m-primary); }
.avsww-mini__btn.is-primary:hover { filter: brightness(.94); }
.avsww-mini__btn.is-outline { background: #fff; color: var(--m-dark) !important; border: 1px solid var(--m-primary); }
.avsww-mini__btn.is-outline:hover { background: var(--m-tint); }
.avsww-mini__btn.is-disabled { background: #e5e5e8; color: #8a8a8f !important; border: 1px solid #e5e5e8; cursor: not-allowed; }
.avsww-mini__links { display: flex; justify-content: space-between; gap: 12px; margin-top: 12px; font-size: 13px; }
.avsww-mini__links a { display: inline-flex; align-items: center; gap: 6px; color: #1f1f1f !important; text-decoration: none !important; }
.avsww-mini__links a:hover { text-decoration: underline !important; }
.avsww-mini__links a.is-whatsapp { color: var(--m-green) !important; }
.avsww-mini__empty { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 28px 24px 24px; text-align: center; }
.avsww-mini__empty-icon { width: 88px; height: 88px; border-radius: 50%; background: var(--m-tint); color: var(--m-primary); display: grid; place-items: center; margin-bottom: 6px; }
.avsww-mini__empty-icon svg { width: 40px; height: 40px; }
.avsww-mini__empty-title { font-size: 17px; font-weight: 700; }
.avsww-mini__empty-text { font-size: 14px; color: var(--m-muted); margin-bottom: 8px !important; }
.avsww-mini__empty .avsww-mini__btn { width: 100%; }

/* Theme dropdown containers (Impreza .w-cart-dropdown, widget / Storefront / Astra dropdowns). */
.w-cart-dropdown:has(.avsww-mini) { width: 400px !important; max-width: calc(100vw - 24px); padding: 0 !important; border-radius: 16px !important; overflow: hidden; box-shadow: 0 18px 48px rgba(17, 17, 17, .14), 0 2px 6px rgba(17, 17, 17, .05) !important; background: #fff !important; }
.w-cart-dropdown:has(.avsww-mini) .widget_shopping_cart, .w-cart-dropdown:has(.avsww-mini) .widget_shopping_cart_content { margin: 0 !important; padding: 0 !important; }
.w-cart.avsww-mini-closed .w-cart-dropdown, .avsww-mini-closed .widget_shopping_cart, .avsww-mini-closed > .avsww-mini { display: none !important; }
@media (max-width: 480px) {
	.avsww-mini__items { padding: 0 14px; }
	.avsww-mini__head, .avsww-mini__foot { padding-left: 14px; padding-right: 14px; }
	.avsww-mini__thumb { width: 52px; height: 52px; }
	.avsww-mini__buttons { grid-template-columns: 1fr; }
}

@layer avsww-guard {
	.avsww-mini a, .avsww-mini button { letter-spacing: normal !important; text-transform: none !important; box-shadow: none !important; }
	.avsww-mini .avsww-mini__btn { min-height: 46px !important; border-radius: 999px !important; font-size: 15px !important; padding: 10px 16px !important; line-height: 1.2 !important; }
	.avsww-mini .avsww-mini__close { width: 34px !important; height: 34px !important; padding: 0 !important; border-radius: 50% !important; }
	.avsww-mini .avsww-stepper__btn { padding: 0 !important; border-radius: 0 !important; background: transparent !important; color: #1f1f1f !important; min-width: 0 !important; }
	.avsww-mini .avsww-mini__hint-add { padding: 0 !important; background: none !important; }
	.avsww-mini ul.avsww-mini__items { padding: 0 20px !important; margin: 0 !important; }
	.avsww-mini li.avsww-mini__item { padding: 16px 0 !important; margin: 0 !important; }
	.avsww-mini .avsww-mini__item img { width: 100% !important; height: 100% !important; margin: 0 !important; float: none !important; }
}
@media (max-width: 480px) {
	@layer avsww-guard {
		.avsww-mini ul.avsww-mini__items { padding: 0 14px !important; }
	}
}

/* ===== Product page extras ===== */
.avsww-ribbon { position: absolute; top: 0; left: 28px; z-index: 5; display: inline-block; min-width: 46px; padding: 10px 8px 16px; background: #ffd23f; color: #1f1f1f; font-size: 13px; font-weight: 800; line-height: 1; text-align: center; clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 78%, 0 100%); pointer-events: none; }
.woocommerce div.product, .avsww-ribbon-host, li.product, .w-grid-item-h { position: relative; }
.avsww-rating { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; }
.avsww-rating .star-rating { margin: 0 !important; color: #f5a524; }
.avsww-rating__count { color: #555 !important; text-decoration: none !important; font-size: 15px; }
.avsww-info { font-size: 15px; }
.avsww-info__packs { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 18px; }
.avsww-info__pack { flex: 1 1 180px; display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; border: 1px solid var(--avsww-border); border-radius: 12px; background: #fafafa; }
.avsww-info__pack strong { font-size: 16px; }
.avsww-info__pack small { color: var(--avsww-muted); }
.avsww-info__table { width: 100%; max-width: 640px; border-collapse: collapse; margin: 0; }
.avsww-info__table th, .avsww-info__table td { padding: 10px 12px; border-bottom: 1px solid var(--avsww-border); text-align: left; vertical-align: top; background: none; }
.avsww-info__table th { width: 40%; font-weight: 600; color: #374151; }
.avsww-info__cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: start; }
.avsww-info__points { margin: 0; padding-left: 1.2em; }
.avsww-info__points li { margin: 0 0 8px; }
.avsww-info__actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 0; }
@media (max-width: 767px) { .avsww-info__cols { grid-template-columns: 1fr; } }

/* Product panel buttons as designed, whatever the theme does to <button>. */
@layer avsww-guard {
	.avsww-panel .avsww-panel__actions .avsww-btn, .avsww-panel .avsww-btn--whatsapp, .avsww-info .avsww-btn { border-radius: 999px !important; padding: .9em 1.6em !important; font-size: 1rem !important; font-weight: 600 !important; line-height: 1.2 !important; letter-spacing: .01em !important; box-shadow: none !important; min-height: 52px !important; text-transform: none !important; gap: .5em !important; }
	.avsww-panel .avsww-btn--cart { background: var(--avsww-primary) !important; color: #fff !important; border: 2px solid var(--avsww-primary) !important; }
	.avsww-panel .avsww-btn--cart:hover { background: var(--avsww-primary-dark) !important; border-color: var(--avsww-primary-dark) !important; }
	.avsww-panel .avsww-btn--outline, .avsww-info .avsww-btn--outline { background: #fff !important; color: var(--avsww-primary-dark) !important; border: 2px solid var(--avsww-primary) !important; }
	.avsww-panel .avsww-btn--outline:hover, .avsww-info .avsww-btn--outline:hover { background: var(--avsww-primary-tint, #fff3e8) !important; color: var(--avsww-primary-dark) !important; }
	.avsww-panel .avsww-btn--whatsapp, .avsww-info .avsww-btn--whatsapp { background: #157a3c !important; color: #fff !important; border: 2px solid #157a3c !important; text-transform: none !important; }
	.avsww-panel .avsww-btn--whatsapp:hover, .avsww-info .avsww-btn--whatsapp:hover { background: #116632 !important; }
	.avsww-panel .avsww-mini-btn { border-radius: 999px !important; padding: .35em .8em !important; font-size: .8rem !important; background: #fff !important; color: var(--avsww-ink) !important; border: 1px solid #d1d5db !important; text-transform: none !important; min-height: 0 !important; }
}

/* ===== Cart page inside themes / page builders ===== */
/* Themes (Impreza "qty buttons", Astra, Flatsome…) add their own +/- around the quantity input; our stepper replaces them. */
.avsww-stepper .quantity .minus, .avsww-stepper .quantity .plus, .avsww-stepper .quantity button, .avsww-stepper .quantity input[type="button"] { display: none !important; }
.avsww-stepper .quantity { border: 0 !important; padding: 0 !important; background: none !important; box-shadow: none !important; width: auto !important; }
.avsww-stepper--cart input.qty { width: 3.4em !important; min-width: 3.4em; border: 0 !important; }
/* Coupon + Save as quote / Upload order list on one row. */
.avsww-cart-belt { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px; margin: 20px 0; }
.avsww-cart-belt > :first-child:not(.avsww-cart-actions) { flex: 1 1 320px; margin: 0 !important; padding: 0 !important; }
.avsww-cart-belt .avsww-cart-actions { display: inline-flex; flex-wrap: wrap; gap: 10px; margin-left: auto; }
.avsww-cart-belt + .avsww-upload, .avsww-cart-belt ~ .avsww-reorder { margin-top: 16px; }
/* Item meta reads left to right like the design. */
.avsww-cart-meta { text-align: left; }
/* Totals: GSTIN → error → checkout → quote / WhatsApp, evenly spaced. */
.wc-proceed-to-checkout:has(.avsww-cart-side) { display: flex !important; flex-direction: column; gap: 12px; }
.wc-proceed-to-checkout:has(.avsww-cart-side) > * { margin: 0 !important; width: 100%; }
.wc-proceed-to-checkout .avsww-cart-gstin { order: 1; }
.wc-proceed-to-checkout .avsww-cart-error { order: 2; }
.wc-proceed-to-checkout > .checkout-button, .wc-proceed-to-checkout > a.w-btn, .wc-proceed-to-checkout > .avsww-checkout-disabled, .wc-proceed-to-checkout > .wc-block-components-button { order: 3; }
.wc-proceed-to-checkout .avsww-cart-side { order: 4; display: grid; gap: 12px; }
/* Theme checkout buttons that bypass WooCommerce's hook (Impreza) are hidden while the cart is blocked. */
.wc-proceed-to-checkout:has(.avsww-cart-error) > a.w-btn, .wc-proceed-to-checkout:has(.avsww-cart-error) > a.checkout-button { display: none !important; }
@layer avsww-guard {
	.avsww-cart-side .avsww-btn, .avsww-cart-actions .avsww-btn { min-height: 48px !important; padding: .8em 1.2em !important; border-radius: 6px !important; font-size: .95rem !important; font-weight: 600 !important; line-height: 1.2 !important; letter-spacing: .02em !important; box-shadow: none !important; }
	.avsww-cart-actions .avsww-btn { min-height: 44px !important; text-transform: uppercase !important; }
	.avsww-cart-side .avsww-btn--outline, .avsww-cart-actions .avsww-btn--outline { background: #fff !important; color: var(--avsww-ink) !important; border: 1.5px solid var(--avsww-ink) !important; }
	.avsww-cart-side .avsww-btn--whatsapp { background: #157a3c !important; color: #fff !important; border: 1.5px solid #157a3c !important; }
	.avsww-cart-actions .avsww-btn--soft { background: #f1f2f4 !important; color: var(--avsww-ink) !important; border: 1.5px solid #f1f2f4 !important; }
	.avsww-stepper--cart .avsww-stepper__btn { padding: 0 !important; background: transparent !important; color: var(--avsww-ink) !important; border-radius: 0 !important; min-width: 0 !important; }
}
@layer avsww-guard {
	.avsww-checkout-disabled, .wc-proceed-to-checkout .avsww-checkout-disabled { display: flex !important; align-items: center !important; justify-content: center !important; min-height: 48px !important; padding: .8em 1.2em !important; border-radius: 6px !important; background: #e5e5e8 !important; border: 1.5px solid #e5e5e8 !important; color: #8a8a8f !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: .02em !important; cursor: not-allowed !important; pointer-events: none !important; box-shadow: none !important; }
}
/* SKU · MOQ box always sits under the product name. */
td.product-name .avsww-cart-meta { display: flex !important; flex-direction: column; width: fit-content; max-width: 100%; margin: 6px 0 0; }
.w-cart-table td.product-name .avsww-cart-meta { margin-left: auto; margin-right: auto; }
@media (max-width: 600px) {
	.avsww-cart-belt .avsww-cart-actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; margin-left: 0; }
	.avsww-cart-belt .avsww-cart-actions .avsww-btn { width: 100%; padding-left: .6em !important; padding-right: .6em !important; font-size: .82rem !important; }
}

/* =====================================================================
   Forms & pages UI (dealer registration, quote list, quote view, status cards).
   One system: white cards, section headings, 48px fields with an orange focus ring,
   inline errors, pill buttons. Brand colour = --avsww-primary.
   ===================================================================== */
.avsww-ui { --ui-primary: var(--avsww-primary, #f5821f); --ui-primary-dark: var(--avsww-primary-dark, #d96b0b); --ui-tint: #fff4ea; --ui-peach: #fdebd9; --ui-ink: #1f1f1f; --ui-text: #3d3d3d; --ui-muted: #6b6b6b; --ui-line: #e7e7ea; --ui-field: #fff; --ui-field-line: #d9d9de; --ui-red: #c0262d; --ui-red-soft: #fdecec; --ui-green: #15803d; --ui-radius: 16px; color: var(--ui-text); font-size: 15px; line-height: 1.55; box-sizing: border-box; }
.avsww-ui *, .avsww-ui *::before, .avsww-ui *::after { box-sizing: border-box; }
.avsww-ui p { margin: 0; }
.avsww-ui-card { background: #fff; border: 1px solid var(--ui-line, #e7e7ea); border-radius: var(--ui-radius, 16px); padding: clamp(20px, 3vw, 36px); box-shadow: 0 10px 30px rgba(17, 17, 17, .05); }
.avsww-ui-eyebrow { margin: 0 0 6px !important; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ui-primary-dark); }
.avsww-ui-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--ui-primary-dark) !important; text-decoration: none !important; }
.avsww-ui-link svg { width: 16px; height: 16px; }
.avsww-ui-link:hover { text-decoration: underline !important; }
.avsww-ui-help { font-size: 13px; color: var(--ui-muted); margin-top: 6px !important; }
.avsww-ui-alert { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-radius: 12px; margin: 0 0 22px; font-size: 14px; }
.avsww-ui-alert.is-error { background: var(--ui-red-soft); color: var(--ui-red); border: 1px solid #f6c9cb; }
.avsww-ui-alert.is-info { background: var(--ui-tint); color: #7a3e06; border: 1px solid #f9d9b8; }
.avsww-ui-alert:focus { outline: none; }

/* Sections and grid. */
.avsww-ui-section { margin: 0 0 26px; padding: 0 0 26px; border: 0; border-bottom: 1px solid var(--ui-line); min-width: 0; }
.avsww-ui-section:last-of-type { border-bottom: 0; padding-bottom: 0; }
.avsww-ui-section legend { display: flex; align-items: center; gap: 10px; float: left; width: 100%; margin: 0 0 18px; padding: 0; font-size: 18px; font-weight: 700; color: var(--ui-ink); }
.avsww-ui-section legend + * { clear: both; }
.avsww-ui-section__num { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--ui-peach); color: var(--ui-primary-dark); font-size: 14px; font-weight: 700; }
.avsww-ui-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; }
.avsww-ui-field { display: flex; flex-direction: column; min-width: 0; margin: 0; }
.avsww-ui-field.is-wide { grid-column: 1 / -1; }
.avsww-ui-field label { display: block; margin: 0 0 7px; font-size: 14px; font-weight: 600; color: var(--ui-ink); }
.avsww-ui-req { color: var(--ui-primary-dark); margin-left: 2px; }
.avsww-ui-optional { margin-left: 4px; font-weight: 400; color: var(--ui-muted); font-size: 13px; }
.avsww-ui-error { margin-top: 6px !important; font-size: 13px; color: var(--ui-red); }

/* Field controls: theme-proof (page builders restyle every input). */
@layer avsww-guard {
	.avsww-ui input[type="text"], .avsww-ui input[type="email"], .avsww-ui input[type="tel"], .avsww-ui input[type="password"], .avsww-ui input[type="number"]:not(.avsww-qty-input), .avsww-ui select, .avsww-ui textarea {
		width: 100% !important; min-height: 48px !important; height: auto !important; margin: 0 !important; padding: 11px 14px !important; border: 1px solid var(--ui-field-line) !important; border-radius: 10px !important; background: var(--ui-field) !important; color: var(--ui-ink) !important; font: inherit !important; font-size: 15px !important; line-height: 1.4 !important; box-shadow: none !important; transition: border-color .15s, box-shadow .15s !important;
	}
	.avsww-ui textarea { min-height: 110px !important; resize: vertical; }
	.avsww-ui select { appearance: none !important; -webkit-appearance: none !important; padding-right: 40px !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b6b6b' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 14px center !important; }
	.avsww-ui input::placeholder, .avsww-ui textarea::placeholder { color: #a0a0a8 !important; opacity: 1 !important; }
	.avsww-ui input:focus, .avsww-ui select:focus, .avsww-ui textarea:focus { outline: none !important; border-color: var(--ui-primary) !important; box-shadow: 0 0 0 3px rgba(245, 130, 31, .18) !important; }
	.avsww-ui input[readonly] { background: #f6f6f8 !important; color: var(--ui-muted) !important; }
	.avsww-ui .has-error input, .avsww-ui .has-error select, .avsww-ui .has-error textarea { border-color: var(--ui-red) !important; background: #fffafa !important; }
	.avsww-ui .has-error input:focus, .avsww-ui .has-error select:focus, .avsww-ui .has-error textarea:focus { box-shadow: 0 0 0 3px rgba(192, 38, 45, .15) !important; }

	/* Buttons. */
	.avsww-ui-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; min-height: 48px !important; padding: 12px 26px !important; border-radius: 999px !important; border: 1.5px solid transparent !important; font: inherit !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1.2 !important; letter-spacing: .01em !important; text-transform: none !important; text-decoration: none !important; cursor: pointer !important; box-shadow: none !important; transition: background .15s, color .15s, border-color .15s, filter .15s !important; width: auto; }
	.avsww-ui-btn svg { width: 18px; height: 18px; }
	.avsww-ui-btn.is-primary { background: var(--avsww-primary, #f5821f) !important; border-color: var(--avsww-primary, #f5821f) !important; color: #fff !important; }
	.avsww-ui-btn.is-primary:hover { background: var(--avsww-primary-dark, #d96b0b) !important; border-color: var(--avsww-primary-dark, #d96b0b) !important; }
	.avsww-ui-btn.is-outline { background: #fff !important; border-color: var(--avsww-primary, #f5821f) !important; color: var(--avsww-primary-dark, #d96b0b) !important; }
	.avsww-ui-btn.is-outline:hover { background: #fff4ea !important; }
	.avsww-ui-btn.is-whatsapp { background: #157a3c !important; border-color: #157a3c !important; color: #fff !important; }
	.avsww-ui-btn.is-small { min-height: 40px !important; padding: 8px 18px !important; font-size: 14px !important; }
	.avsww-ui-btn.is-large { min-height: 54px !important; font-size: 16px !important; width: 100%; }
}
.avsww-ui-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.avsww-ui-submit { display: flex; flex-direction: column; gap: 4px; margin-top: 8px; }
.avsww-ui-default-submit { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; border: 0 !important; }

/* Status cards (application received / approved). */
.avsww-state { max-width: 640px; margin: 0 auto; padding: clamp(28px, 4vw, 48px); background: #fff; border: 1px solid var(--ui-line); border-radius: var(--ui-radius); text-align: center; box-shadow: 0 10px 30px rgba(17, 17, 17, .05); }
.avsww-state__icon { display: inline-grid; place-items: center; width: 76px; height: 76px; border-radius: 50%; background: var(--ui-peach); color: var(--ui-primary); margin-bottom: 16px; }
.avsww-state__icon svg { width: 36px; height: 36px; }
.avsww-state.is-approved .avsww-state__icon { background: #e5f6ec; color: var(--ui-green); }
.avsww-state__title { margin: 0 0 10px !important; font-size: clamp(22px, 2.2vw, 28px); color: var(--ui-ink); }
.avsww-state__text { max-width: 480px; margin: 0 auto !important; color: var(--ui-muted); }
.avsww-state__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 24px; }

/* Dealer registration layout. */
.avsww-reg { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 8fr); gap: clamp(20px, 3vw, 40px); align-items: start; }
.avsww-reg__intro { position: sticky; top: 120px; padding: clamp(22px, 3vw, 36px); border-radius: var(--ui-radius); background: var(--ui-peach); color: var(--ui-ink); }
.avsww-reg__title { margin: 0 0 10px !important; font-size: clamp(26px, 2.4vw, 34px); line-height: 1.2; color: var(--ui-ink); }
.avsww-reg__lead { color: #5a4a3c; margin-bottom: 20px !important; }
.avsww-reg__benefits { list-style: none; margin: 0 0 24px; padding: 0; display: grid; gap: 10px; }
.avsww-reg__benefits li { display: flex; gap: 10px; align-items: flex-start; margin: 0; font-weight: 500; }
.avsww-reg__benefits li::before { content: none; }
.avsww-reg__benefits span { flex: none; display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--ui-primary); color: #fff; font-size: 12px; font-weight: 700; margin-top: 1px; }
.avsww-reg__steps { counter-reset: avsww-step; list-style: none; margin: 0 0 24px; padding: 18px; display: grid; gap: 14px; background: rgba(255, 255, 255, .7); border-radius: 12px; }
.avsww-reg__steps li { counter-increment: avsww-step; position: relative; display: flex; flex-direction: column; margin: 0; padding-left: 42px; }
.avsww-reg__steps li::before { content: counter(avsww-step); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--ui-ink); color: #fff; font-size: 13px; font-weight: 700; }
.avsww-reg__steps span { font-size: 13px; color: var(--ui-muted); }
.avsww-reg__help { display: grid; gap: 12px; font-size: 14px; }
.avsww-reg__help a:not(.avsww-ui-btn) { font-weight: 600; color: var(--ui-primary-dark); }

/* Quote list page. */
.avsww-qpage { display: grid; grid-template-columns: minmax(0, 8fr) minmax(320px, 5fr); gap: clamp(20px, 3vw, 32px); align-items: start; }
.avsww-qpage__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px 20px; padding-bottom: 18px; border-bottom: 1px solid var(--ui-line); }
.avsww-qpage__title { margin: 0 !important; font-size: clamp(22px, 2vw, 28px); color: var(--ui-ink); }
.avsww-qpage__title span { font-size: .6em; font-weight: 500; color: var(--ui-muted); }
.avsww-qpage__items { list-style: none; margin: 0; padding: 0; }
.avsww-qitem { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto auto 32px; gap: 16px; align-items: center; margin: 0; padding: 18px 0; border-bottom: 1px solid var(--ui-line); }
.avsww-qitem::before { content: none; }
.avsww-qitem__thumb { display: grid; place-items: center; width: 72px; height: 72px; border: 1px solid var(--ui-line); border-radius: 12px; overflow: hidden; background: #fff; }
.avsww-qitem__thumb img { width: 100%; height: 100%; object-fit: contain; margin: 0 !important; }
.avsww-qitem__info { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.avsww-qitem__name { font-size: 16px; font-weight: 600; color: var(--ui-ink) !important; text-decoration: none !important; }
.avsww-qitem__name:hover { color: var(--ui-primary-dark) !important; }
.avsww-qitem__meta { font-size: 13px; color: var(--ui-muted); }
.avsww-ui .avsww-qitem__note { min-height: 38px !important; padding: 7px 12px !important; font-size: 13px !important; margin-top: 4px !important; }
.avsww-qitem__qty { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.avsww-qitem__unit { font-size: 12px; color: var(--ui-muted); }
.avsww-qitem__total { display: flex; flex-direction: column; align-items: flex-end; min-width: 92px; text-align: right; }
.avsww-qitem__total strong { font-size: 16px; color: var(--ui-primary-dark); }
.avsww-qitem__total small { font-size: 12px; color: var(--ui-muted); }
.avsww-qitem__remove { border: 0 !important; background: none !important; color: #9a9aa2 !important; font-size: 22px !important; line-height: 1 !important; cursor: pointer; padding: 4px !important; min-height: 0 !important; box-shadow: none !important; }
.avsww-qitem__remove:hover { color: var(--ui-red) !important; }
.avsww-ui .avsww-stepper input.avsww-qty-input { width: 3.6em !important; min-height: 42px !important; text-align: center; font-weight: 600; }
.avsww-qpage__list-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding-top: 18px; }
.avsww-qpage__list-foot .avsww-ui-help { margin: 0 !important; }
.avsww-qpage__promise { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 22px 0 0; padding: 16px 18px; border-radius: 12px; background: #f8f8fa; font-size: 14px; color: var(--ui-text); }
.avsww-qpage__promise li { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.avsww-qpage__promise li::before { content: none; }
.avsww-qpage__promise svg { width: 18px; height: 18px; color: var(--ui-primary); }
.avsww-qpage__empty { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 36px 12px; text-align: center; color: var(--ui-muted); }
.avsww-qpage__empty-icon { display: inline-grid; place-items: center; width: 76px; height: 76px; border-radius: 50%; background: var(--ui-peach); color: var(--ui-primary); }
.avsww-qpage__empty-icon svg { width: 34px; height: 34px; }
.avsww-qpage__empty-title { font-size: 18px; font-weight: 700; color: var(--ui-ink); }
.avsww-qpage__side { position: sticky; top: 120px; display: flex; flex-direction: column; gap: 16px; }
.avsww-qpage__side-title { margin: 0 !important; font-size: 20px; color: var(--ui-ink); }
.avsww-qpage__side .avsww-ui-help { margin-top: -8px !important; }
.avsww-qpage__side .avsww-ui-alert { margin: 0; }
.avsww-qpage__summary { display: grid; gap: 6px; padding: 14px 16px; border-radius: 12px; background: #f8f8fa; }
.avsww-qpage__summary p { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; }
.avsww-qpage__summary strong { color: var(--ui-ink); }
.avsww-qpage__summary small { font-size: 12px; color: var(--ui-muted); }

/* Quote view. */
.avsww-qview { max-width: 980px; margin: 0 auto; }
.avsww-qview__title { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 0 18px !important; font-size: clamp(22px, 2.2vw, 30px); color: var(--ui-ink); }
.avsww-ui-status { padding: 5px 12px; border-radius: 999px; background: var(--ui-peach); color: var(--ui-primary-dark); font-size: 13px; font-weight: 700; }
.avsww-ui-table { width: 100%; border-collapse: collapse; margin: 18px 0 !important; border: 1px solid var(--ui-line) !important; border-radius: 12px; overflow: hidden; }
.avsww-ui-table th, .avsww-ui-table td { padding: 12px 16px !important; border: 0 !important; border-bottom: 1px solid var(--ui-line) !important; text-align: left; background: #fff; }
.avsww-ui-table thead th { background: #f8f8fa !important; font-size: 13px; font-weight: 600; color: var(--ui-muted); text-transform: none; }
.avsww-ui-table tfoot th, .avsww-ui-table tfoot td { background: #fcfcfd !important; }
.avsww-qview .avsww-history { list-style: none; margin: 10px 0 0; padding: 0; }
.avsww-qview .avsww-quote-respond textarea { margin-bottom: 12px !important; }
.avsww-order-again { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 20px 0 !important; }
.avsww-order-again span { font-size: 13px; color: #6b6b6b; }

/* Responsive. */
@media (max-width: 1024px) {
	.avsww-reg, .avsww-qpage { grid-template-columns: 1fr; }
	.avsww-reg__intro, .avsww-qpage__side { position: static; }
}
@media (max-width: 640px) {
	.avsww-ui-grid { grid-template-columns: 1fr; }
	.avsww-qitem { grid-template-columns: 60px minmax(0, 1fr) 28px; grid-template-areas: "thumb info remove" "qty qty total"; gap: 10px 12px; }
	.avsww-qitem__thumb { grid-area: thumb; width: 60px; height: 60px; }
	.avsww-qitem__info { grid-area: info; }
	.avsww-qitem__remove { grid-area: remove; align-self: start; }
	.avsww-qitem__qty { grid-area: qty; flex-direction: row; gap: 8px; }
	.avsww-qitem__total { grid-area: total; justify-self: end; }
	.avsww-ui-section legend { font-size: 17px; }
}
@layer avsww-guard {
	.avsww-ui .avsww-ui-section legend { font-size: 18px !important; font-weight: 700 !important; color: #1f1f1f !important; }
	.avsww-ui-field label { font-weight: 600 !important; }
}
.avsww-qview__message { margin: 0 0 18px; padding: 16px 18px; border: 1px solid #e7e7ea; border-radius: 12px; background: #fcfcfd; }
.avsww-qview__label { margin: 22px 0 8px !important; font-size: 14px !important; font-weight: 700 !important; letter-spacing: .02em; color: #1f1f1f !important; line-height: 1.3 !important; }
.avsww-qview__message .avsww-qview__label { margin-top: 0 !important; }
@layer avsww-guard {
	.avsww-ui .avsww-ui-status { display: inline-block !important; padding: 5px 12px !important; border-radius: 999px !important; background: #fdebd9 !important; color: #c2580a !important; font-size: 13px !important; font-weight: 700 !important; line-height: 1.2 !important; }
	.avsww-ui .avsww-status--quoted, .avsww-ui .avsww-status--accepted, .avsww-ui .avsww-status--converted { background: #e5f6ec !important; color: #15803d !important; }
	.avsww-ui .avsww-status--declined, .avsww-ui .avsww-status--expired, .avsww-ui .avsww-status--cancelled { background: #f1f1f3 !important; color: #6b6b6b !important; }
}

/* ===== Order received (thank you) ===== */
.avsww-thanks { display: grid; gap: clamp(18px, 2.4vw, 28px); max-width: 1200px; margin: 0 auto; }
.avsww-thanks__hero { text-align: center; padding: clamp(28px, 4vw, 48px) !important; }
.avsww-thanks__icon { display: inline-grid; place-items: center; width: 76px; height: 76px; margin-bottom: 14px; border-radius: 50%; background: #e5f6ec; color: #15803d; font-size: 36px; font-weight: 700; line-height: 1; }
.avsww-thanks__hero.is-failed .avsww-thanks__icon { background: #fdecec; color: #c0262d; }
.avsww-thanks__title { margin: 0 0 8px !important; font-size: clamp(24px, 2.6vw, 34px) !important; line-height: 1.2 !important; color: #1f1f1f !important; }
.avsww-thanks__lead { max-width: 620px; margin: 0 auto !important; color: #5a5a5a; }
.avsww-thanks__lead strong { color: #1f1f1f; }
.avsww-thanks__facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 26px 0 0 !important; padding: 0 !important; list-style: none; text-align: left; }
.avsww-thanks__facts > div { padding: 14px 16px; border-radius: 12px; background: #fff4ea; border: 1px solid #fbe0c6; }
.avsww-thanks__facts dt { margin: 0 0 4px; font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #9a5a1c; }
.avsww-thanks__facts dd { margin: 0; font-size: 16px; font-weight: 700; color: #1f1f1f; word-break: break-word; }
.avsww-ui-actions.is-center { justify-content: center; }
.avsww-thanks__steps { counter-reset: avsww-ts; list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; }
.avsww-thanks__steps li { counter-increment: avsww-ts; position: relative; display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 16px 16px 16px 58px; border-radius: 14px; background: #fff; border: 1px solid #e7e7ea; }
.avsww-thanks__steps li::before { content: counter(avsww-ts); position: absolute; left: 16px; top: 16px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #f1f1f3; color: #6b6b6b; font-size: 13px; font-weight: 700; }
.avsww-thanks__steps li.is-done::before { content: "✓"; background: #15803d; color: #fff; }
.avsww-thanks__steps strong { font-size: 15px; color: #1f1f1f; }
.avsww-thanks__steps span { font-size: 13px; color: #6b6b6b; }
.avsww-thanks__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 0 0 14px !important; font-size: 18px !important; line-height: 1.3 !important; color: #1f1f1f !important; }
.avsww-thanks__heading span { font-size: 13px; font-weight: 500; color: #6b6b6b; }
.avsww-thanks__payment p:last-child, .avsww-thanks__payment ul:last-child { margin-bottom: 0; }
.avsww-thanks__payment .wc-bacs-bank-details { margin: 0; padding: 0; }
.avsww-thanks__grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: clamp(18px, 2.4vw, 28px); align-items: start; }
.avsww-thanks__list { list-style: none; margin: 0; padding: 0; }
.avsww-thanks__list li { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 14px; align-items: center; margin: 0; padding: 14px 0; border-bottom: 1px solid #e7e7ea; }
.avsww-thanks__list li::before { content: none; }
.avsww-thanks__list li:first-child { padding-top: 0; }
.avsww-thanks__thumb { display: grid; place-items: center; width: 64px; height: 64px; border: 1px solid #e7e7ea; border-radius: 12px; overflow: hidden; background: #fff; }
.avsww-thanks__thumb img { width: 100% !important; height: 100% !important; object-fit: contain; margin: 0 !important; }
.avsww-thanks__info { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.avsww-thanks__name { font-size: 15px; font-weight: 600; color: #1f1f1f !important; text-decoration: none !important; }
.avsww-thanks__name:hover { color: var(--avsww-primary-dark, #d96b0b) !important; }
.avsww-thanks__meta, .avsww-thanks__each { font-size: 13px; color: #6b6b6b; margin: 0 !important; }
.avsww-thanks__each del { color: #9a9a9a; margin-right: 4px; }
.avsww-thanks__variation { font-size: 12px; color: #6b6b6b; }
.avsww-thanks__variation ul { margin: 0; padding: 0; list-style: none; }
.avsww-thanks__line { font-size: 16px; color: var(--avsww-primary-dark, #d96b0b); white-space: nowrap; }
.avsww-thanks__totals { width: 100%; margin: 16px 0 0 !important; border: 0 !important; border-collapse: collapse; }
.avsww-thanks__totals th, .avsww-thanks__totals td { padding: 8px 0 !important; border: 0 !important; background: none !important; font-size: 14px; font-weight: 400; text-align: left; }
.avsww-thanks__totals td { text-align: right; }
.avsww-thanks__totals tr.is-savings th, .avsww-thanks__totals tr.is-savings td { color: #15803d; }
.avsww-thanks__totals tr.is-order_total th, .avsww-thanks__totals tr.is-order_total td { padding-top: 14px !important; border-top: 1px solid #e7e7ea !important; font-size: 18px; font-weight: 700; color: #1f1f1f; }
.avsww-thanks__note { margin-top: 14px !important; padding: 12px 14px; border-radius: 10px; background: #f8f8fa; font-size: 14px; }
.avsww-thanks__address address { font-style: normal; line-height: 1.7; color: #3d3d3d; margin: 0 0 20px; }
.avsww-thanks__address address:last-child { margin-bottom: 0; }
.avsww-thanks__contact { display: block; }
@media (max-width: 1024px) {
	.avsww-thanks__grid { grid-template-columns: 1fr; }
	.avsww-thanks__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.avsww-thanks__facts, .avsww-thanks__steps { grid-template-columns: 1fr 1fr; }
	.avsww-thanks__steps li { padding-left: 52px; }
	.avsww-thanks__list li { grid-template-columns: 52px minmax(0, 1fr); }
	.avsww-thanks__thumb { width: 52px; height: 52px; }
	.avsww-thanks__line { grid-column: 2; }
	.avsww-thanks .avsww-ui-actions .avsww-ui-btn { width: 100%; }
}
.avsww-thanks > *, .avsww-thanks__steps, .avsww-thanks__facts { margin-top: 0 !important; margin-bottom: 0 !important; }

/* =====================================================================
   My Account (body.avsww-account): card layout matching the site.
   Layout + navigation + dashboard + restyled WooCommerce pages (orders, view order,
   addresses, account details, downloads, login / register, notices).
   ===================================================================== */
.avsww-account { --acc-primary: var(--avsww-primary, #f5821f); --acc-primary-dark: var(--avsww-primary-dark, #d96b0b); --acc-peach: #fdebd9; --acc-tint: #fff4ea; --acc-ink: #1f1f1f; --acc-text: #3d3d3d; --acc-muted: #6b6b6b; --acc-line: #e7e7ea; }
.avsww-account .woocommerce:has(> .woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: clamp(20px, 2.6vw, 36px); align-items: start; }
.avsww-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.avsww-account .woocommerce-MyAccount-navigation, .avsww-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; margin: 0 !important; }

/* Navigation card. */
.avsww-acc-nav { position: sticky; top: 120px; background: #fff; border: 1px solid var(--acc-line); border-radius: 16px; overflow: hidden; box-shadow: 0 10px 30px rgba(17, 17, 17, .05); }
.avsww-acc-nav__profile { display: flex; align-items: center; gap: 12px; padding: 18px; background: var(--acc-peach); }
.avsww-acc-nav__avatar { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--acc-primary); color: #fff; font-weight: 700; }
.avsww-acc-nav__who { display: flex; flex-direction: column; min-width: 0; }
.avsww-acc-nav__who strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--acc-ink); }
.avsww-acc-nav__who small { font-size: 12px; color: var(--acc-muted); }
.avsww-acc-nav__who small.is-approved { color: #15803d; font-weight: 600; }
.avsww-acc-nav__who small.is-pending { color: var(--acc-primary-dark); font-weight: 600; }
.avsww-acc-nav ul { list-style: none !important; margin: 0 !important; padding: 10px !important; }
.avsww-acc-nav li { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.avsww-acc-nav li::before { content: none !important; }
@layer avsww-guard {
	.avsww-acc-nav li a { display: flex !important; align-items: center !important; gap: 12px !important; padding: 11px 14px !important; border-radius: 10px !important; background: none !important; color: var(--acc-text) !important; font-size: 15px !important; font-weight: 500 !important; text-decoration: none !important; line-height: 1.3 !important; border: 0 !important; }
	.avsww-acc-nav li a:hover { background: #f7f7f8 !important; color: var(--acc-ink) !important; }
	.avsww-acc-nav li.is-active a { background: var(--acc-tint) !important; color: var(--acc-primary-dark) !important; font-weight: 700 !important; }
	.avsww-acc-nav li.woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 6px !important; padding-top: 6px !important; border-top: 1px solid var(--acc-line) !important; }
	.avsww-acc-nav li.woocommerce-MyAccount-navigation-link--customer-logout a { color: #c0262d !important; }
}
.avsww-acc-nav li a svg { width: 18px; height: 18px; flex: none; color: var(--acc-muted); }
.avsww-acc-nav li.is-active a svg { color: var(--acc-primary); }

/* Content area. */
.avsww-account .woocommerce-MyAccount-content { min-width: 0; background: #fff; border: 1px solid var(--acc-line); border-radius: 16px; padding: clamp(20px, 3vw, 36px); box-shadow: 0 10px 30px rgba(17, 17, 17, .05); color: var(--acc-text); }
.avsww-account .woocommerce-MyAccount-content > :first-child { margin-top: 0; }
.avsww-account .woocommerce-MyAccount-content h2, .avsww-account .woocommerce-MyAccount-content h3, .avsww-account .woocommerce-MyAccount-content legend { color: var(--acc-ink); font-size: 20px; line-height: 1.3; margin: 0 0 14px; }

/* Dashboard. */
.avsww-acc-dash { display: grid; gap: 22px; }
.avsww-acc-dash__hello { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 10px 20px; }
.avsww-acc-dash__hello h2 { margin: 0 0 6px !important; font-size: clamp(24px, 2.4vw, 32px) !important; }
.avsww-acc-dash__lead { color: var(--acc-muted); max-width: 560px; }
.avsww-acc-banner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; padding: 16px 20px; border-radius: 14px; border: 1px solid var(--acc-line); background: #f8f8fa; }
.avsww-acc-banner strong { display: block; color: var(--acc-ink); font-size: 16px; margin-bottom: 2px; }
.avsww-acc-banner p { margin: 0 !important; font-size: 14px; color: var(--acc-muted); }
.avsww-acc-banner.is-approved { background: #eefaf2; border-color: #c9ead5; }
.avsww-acc-banner.is-approved strong { color: #15803d; }
.avsww-acc-banner.is-pending, .avsww-acc-banner.is-cta { background: var(--acc-tint); border-color: #f9d9b8; }
.avsww-acc-banner.is-warning { background: #fdecec; border-color: #f6c9cb; }
.avsww-acc-dash__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.avsww-acc-stat { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border: 1px solid var(--acc-line); border-radius: 14px; background: #fff; color: inherit !important; text-decoration: none !important; transition: border-color .15s; }
a.avsww-acc-stat:hover { border-color: var(--acc-primary); }
.avsww-acc-stat span { font-size: 13px; color: var(--acc-muted); }
.avsww-acc-stat strong { font-size: 24px; color: var(--acc-ink); line-height: 1.2; }
.avsww-acc-dash__actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.avsww-acc-action { display: flex; flex-direction: column; gap: 4px; padding: 16px; border-radius: 14px; background: var(--acc-tint); border: 1px solid #fbe0c6; color: inherit !important; text-decoration: none !important; transition: transform .15s, box-shadow .15s; }
.avsww-acc-action:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(17, 17, 17, .06); }
.avsww-acc-action__icon { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 6px; border-radius: 50%; background: #fff; color: var(--acc-primary); }
.avsww-acc-action__icon svg { width: 18px; height: 18px; }
.avsww-acc-action strong { color: var(--acc-ink); font-size: 15px; }
.avsww-acc-action small { color: var(--acc-muted); font-size: 13px; }
.avsww-acc-dash__orders { padding: 20px 22px !important; box-shadow: none !important; }
.avsww-acc-dash__orders header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.avsww-acc-dash__orders h3 { margin: 0 !important; font-size: 18px !important; }
.avsww-acc-dash__empty { color: var(--acc-muted); }
.avsww-acc-orders { list-style: none; margin: 0; padding: 0; }
.avsww-acc-orders li { display: grid; grid-template-columns: 90px 1fr auto auto auto; gap: 14px; align-items: center; margin: 0; padding: 12px 0; border-top: 1px solid var(--acc-line); }
.avsww-acc-orders li::before { content: none; }
.avsww-acc-orders__no { font-weight: 700; color: var(--acc-ink) !important; text-decoration: none !important; }
.avsww-acc-orders__date { color: var(--acc-muted); font-size: 14px; }
.avsww-acc-orders__total { color: var(--acc-ink); }

/* Status pills (orders, quotes). */
.avsww-acc-pill { display: inline-block; padding: 4px 11px; border-radius: 999px; background: #f1f1f3; color: #555; font-size: 12px; font-weight: 700; line-height: 1.4; white-space: nowrap; }
.avsww-acc-pill.is-processing, .avsww-acc-pill.is-new, .avsww-acc-pill.is-reviewing { background: var(--acc-peach); color: var(--acc-primary-dark); }
.avsww-acc-pill.is-on-hold, .avsww-acc-pill.is-pending, .avsww-acc-pill.is-quoted { background: #fff6d6; color: #8a6100; }
.avsww-acc-pill.is-completed, .avsww-acc-pill.is-accepted, .avsww-acc-pill.is-converted { background: #e5f6ec; color: #15803d; }
.avsww-acc-pill.is-cancelled, .avsww-acc-pill.is-failed, .avsww-acc-pill.is-refunded, .avsww-acc-pill.is-declined, .avsww-acc-pill.is-expired { background: #fdecec; color: #c0262d; }

/* WooCommerce tables (orders, downloads, quotes, order details). */
@layer avsww-guard {
	.avsww-account .woocommerce-MyAccount-content table.shop_table { width: 100% !important; margin: 0 0 18px !important; border: 1px solid var(--acc-line) !important; border-radius: 12px !important; border-collapse: separate !important; border-spacing: 0 !important; overflow: hidden; background: #fff !important; }
	.avsww-account .woocommerce-MyAccount-content table.shop_table th, .avsww-account .woocommerce-MyAccount-content table.shop_table td { padding: 13px 16px !important; border: 0 !important; border-bottom: 1px solid var(--acc-line) !important; background: #fff !important; text-align: left; vertical-align: middle !important; font-size: 15px; }
	.avsww-account .woocommerce-MyAccount-content table.shop_table thead th { background: #f8f8fa !important; color: var(--acc-muted) !important; font-size: 13px !important; font-weight: 600 !important; text-transform: none !important; }
	.avsww-account .woocommerce-MyAccount-content table.shop_table tbody tr:last-child > *, .avsww-account .woocommerce-MyAccount-content table.shop_table tfoot tr:last-child > * { border-bottom: 0 !important; }
	.avsww-account .woocommerce-MyAccount-content table.shop_table tfoot th, .avsww-account .woocommerce-MyAccount-content table.shop_table tfoot td { background: #fcfcfd !important; }
	.avsww-account .woocommerce-orders-table__cell-order-actions, .avsww-account .woocommerce-orders-table__cell-order-actions * { white-space: nowrap; }
	.avsww-account .woocommerce-orders-table__cell-order-actions { text-align: right !important; }
	.avsww-account .woocommerce-orders-table__cell-order-number a { font-weight: 700; color: var(--acc-ink) !important; text-decoration: none !important; }
	/* Order status as a pill, from the row's status class. */
	.avsww-account .woocommerce-orders-table__cell-order-status { font-weight: 700; font-size: 13px !important; }
	.avsww-account .woocommerce-orders-table__row--status-processing .woocommerce-orders-table__cell-order-status { color: var(--acc-primary-dark) !important; }
	.avsww-account .woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status { color: #15803d !important; }
	.avsww-account .woocommerce-orders-table__row--status-on-hold .woocommerce-orders-table__cell-order-status, .avsww-account .woocommerce-orders-table__row--status-pending .woocommerce-orders-table__cell-order-status { color: #8a6100 !important; }
	.avsww-account .woocommerce-orders-table__row--status-cancelled .woocommerce-orders-table__cell-order-status, .avsww-account .woocommerce-orders-table__row--status-failed .woocommerce-orders-table__cell-order-status { color: #c0262d !important; }

	/* Buttons inside account pages: site pills. */
	.avsww-account .woocommerce-MyAccount-content .button, .avsww-account .woocommerce-MyAccount-content button[type="submit"], .avsww-account #customer_login button[type="submit"], .avsww-account .woocommerce-MyAccount-content a.woocommerce-button { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; min-height: 42px !important; padding: 9px 20px !important; margin: 2px 0 2px 6px !important; border-radius: 999px !important; border: 1.5px solid var(--acc-primary) !important; background: var(--acc-primary) !important; color: #fff !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.2 !important; text-transform: none !important; letter-spacing: .01em !important; text-decoration: none !important; box-shadow: none !important; }
	.avsww-account .woocommerce-MyAccount-content .button:hover, .avsww-account .woocommerce-MyAccount-content button[type="submit"]:hover, .avsww-account #customer_login button[type="submit"]:hover { background: var(--acc-primary-dark) !important; border-color: var(--acc-primary-dark) !important; }
	.avsww-account .woocommerce-MyAccount-content .button.view, .avsww-account .woocommerce-MyAccount-content .button.cancel, .avsww-account .woocommerce-MyAccount-content .woocommerce-Address-title .edit, .avsww-account .woocommerce-MyAccount-content .button.woocommerce-MyAccount-downloads-file { background: #fff !important; color: var(--acc-primary-dark) !important; }
	.avsww-account .woocommerce-MyAccount-content .button.view:hover, .avsww-account .woocommerce-MyAccount-content .button.cancel:hover { background: var(--acc-tint) !important; }
	.avsww-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions .button:first-child { margin-left: 0 !important; }

	/* Form fields (address, account details, login / register). */
	.avsww-account .woocommerce form .form-row { margin: 0 0 16px !important; padding: 0 !important; }
	.avsww-account .woocommerce form .form-row label { display: block; margin: 0 0 7px !important; font-size: 14px !important; font-weight: 600 !important; color: var(--acc-ink) !important; line-height: 1.4 !important; }
	.avsww-account .woocommerce form .form-row .required { color: var(--acc-primary-dark) !important; text-decoration: none !important; border: 0 !important; }
	.avsww-account .woocommerce form .input-text, .avsww-account .woocommerce form select, .avsww-account .woocommerce form textarea, .avsww-account .woocommerce form .select2-container .select2-selection--single { width: 100% !important; min-height: 48px !important; height: auto !important; padding: 11px 14px !important; border: 1px solid #d9d9de !important; border-radius: 10px !important; background: #fff !important; color: var(--acc-ink) !important; font-size: 15px !important; line-height: 1.4 !important; box-shadow: none !important; }
	.avsww-account .woocommerce form .select2-container .select2-selection--single .select2-selection__rendered { padding: 0 !important; line-height: 24px !important; color: var(--acc-ink) !important; }
	.avsww-account .woocommerce form .select2-container .select2-selection--single .select2-selection__arrow { top: 50% !important; transform: translateY(-50%); right: 10px !important; }
	.avsww-account .woocommerce form .input-text:focus, .avsww-account .woocommerce form select:focus, .avsww-account .woocommerce form textarea:focus, .avsww-account .woocommerce form .select2-container--focus .select2-selection--single { outline: none !important; border-color: var(--acc-primary) !important; box-shadow: 0 0 0 3px rgba(245, 130, 31, .18) !important; }
	.avsww-account .woocommerce form .form-row.woocommerce-invalid .input-text, .avsww-account .woocommerce form .form-row.woocommerce-invalid select { border-color: #c0262d !important; }
	.avsww-account .woocommerce form fieldset { margin: 20px 0 !important; padding: 20px !important; border: 1px solid var(--acc-line) !important; border-radius: 12px !important; }
	.avsww-account .woocommerce form fieldset legend { padding: 0 8px !important; font-size: 16px !important; font-weight: 700 !important; }
	.avsww-account .woocommerce form .password-input { display: block; position: relative; }
	.avsww-account .woocommerce form .show-password-input { top: 50% !important; transform: translateY(-50%); right: 12px !important; }
	.avsww-account .woocommerce form em, .avsww-account .woocommerce form .description { display: block; margin-top: 6px; font-size: 13px; font-style: normal; color: var(--acc-muted); }

	/* Notices. */
	.avsww-account .woocommerce-message, .avsww-account .woocommerce-info, .avsww-account .woocommerce-error, .avsww-account .woocommerce-notice { margin: 0 0 18px !important; padding: 14px 18px !important; border: 1px solid #f9d9b8 !important; border-radius: 12px !important; background: var(--acc-tint) !important; color: #7a3e06 !important; font-size: 14px !important; list-style: none !important; box-shadow: none !important; }
	.avsww-account .woocommerce-message { border-color: #c9ead5 !important; background: #eefaf2 !important; color: #14532d !important; }
	.avsww-account .woocommerce-error { border-color: #f6c9cb !important; background: #fdecec !important; color: #c0262d !important; }
	.avsww-account .woocommerce-message::before, .avsww-account .woocommerce-info::before, .avsww-account .woocommerce-error::before { display: none !important; }
	.avsww-account .woocommerce-message .button, .avsww-account .woocommerce-info .button { float: right; margin: -6px 0 0 12px !important; min-height: 36px !important; padding: 6px 16px !important; }
}

/* Addresses. */
.avsww-account .woocommerce-Addresses { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 18px; }
.avsww-account .woocommerce-Addresses::before, .avsww-account .woocommerce-Addresses::after { content: none !important; }
.avsww-account .woocommerce-Addresses .woocommerce-Address { float: none !important; width: auto !important; margin: 0 !important; padding: 20px; border: 1px solid var(--acc-line); border-radius: 14px; background: #fcfcfd; }
.avsww-account .woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.avsww-account .woocommerce-Address-title h2, .avsww-account .woocommerce-Address-title h3 { margin: 0 !important; font-size: 17px !important; }
.avsww-account .woocommerce-Address-title .edit { margin: 0 !important; min-height: 34px !important; padding: 5px 14px !important; font-size: 13px !important; border-radius: 999px; border: 1.5px solid var(--acc-primary); color: var(--acc-primary-dark) !important; text-decoration: none !important; }
.avsww-account .woocommerce-Address address { font-style: normal; line-height: 1.7; margin: 0; }

/* View order. */
.avsww-account .woocommerce-MyAccount-content > p:has(mark.order-status) { padding: 14px 18px; border-radius: 12px; background: var(--acc-tint); border: 1px solid #fbe0c6; color: var(--acc-text); }
.avsww-account mark.order-number, .avsww-account mark.order-date { background: none; color: var(--acc-ink); font-weight: 700; }
.avsww-account mark.order-status { padding: 3px 10px; border-radius: 999px; background: var(--acc-peach); color: var(--acc-primary-dark); font-weight: 700; }
.avsww-account .woocommerce-customer-details .woocommerce-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.avsww-account .woocommerce-customer-details .woocommerce-column { float: none !important; width: auto !important; padding: 20px; border: 1px solid var(--acc-line); border-radius: 14px; background: #fcfcfd; }
.avsww-account .woocommerce-customer-details address { border: 0 !important; padding: 0 !important; font-style: normal; line-height: 1.7; }
.avsww-account .woocommerce-order-details .product-name a { color: var(--acc-ink); font-weight: 600; }

/* Logged-out: login + register cards. */
.avsww-account #customer_login { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 3vw, 32px); }
.avsww-account #customer_login::before, .avsww-account #customer_login::after { content: none !important; }
.avsww-account #customer_login > .u-column1, .avsww-account #customer_login > .u-column2 { float: none !important; width: auto !important; padding: clamp(22px, 3vw, 36px); border: 1px solid var(--acc-line); border-radius: 16px; background: #fff; box-shadow: 0 10px 30px rgba(17, 17, 17, .05); }
.avsww-account #customer_login h2 { margin: 0 0 16px; font-size: 22px; color: var(--acc-ink); }
.avsww-account #customer_login form { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.avsww-account #customer_login button[type="submit"] { width: 100%; margin: 6px 0 0 !important; min-height: 50px !important; font-size: 15px !important; }
.avsww-account .woocommerce-LostPassword { margin: 14px 0 0; font-size: 14px; }
.avsww-account .woocommerce-LostPassword a, .avsww-account .woocommerce-form-login__rememberme { color: var(--acc-primary-dark); }
.avsww-acc-empty { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 6px 0; }

@media (max-width: 1024px) {
	.avsww-account .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: 1fr; }
	.avsww-acc-nav { position: static; }
	.avsww-acc-nav ul { display: flex; flex-wrap: nowrap; gap: 4px; overflow-x: auto; padding: 8px !important; }
	.avsww-acc-nav li.woocommerce-MyAccount-navigation-link--customer-logout { margin: 0 !important; padding: 0 !important; border: 0 !important; }
	.avsww-acc-dash__actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@layer avsww-guard {
	@media (max-width: 1024px) {
		.avsww-acc-nav li a { white-space: nowrap !important; padding: 9px 12px !important; font-size: 14px !important; }
		.avsww-acc-nav li.woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 0 !important; padding-top: 0 !important; border-top: 0 !important; }
	}
}
@media (max-width: 640px) {
	.avsww-acc-dash__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
	.avsww-acc-stat { padding: 12px; }
	.avsww-acc-stat strong { font-size: 20px; }
	.avsww-acc-orders li { grid-template-columns: auto 1fr auto; grid-template-areas: "no pill total" "date date btn"; gap: 6px 10px; }
	.avsww-acc-orders__no { grid-area: no; }
	.avsww-acc-orders .avsww-acc-pill { grid-area: pill; justify-self: start; }
	.avsww-acc-orders__total { grid-area: total; justify-self: end; }
	.avsww-acc-orders__date { grid-area: date; }
	.avsww-acc-orders .avsww-ui-btn { grid-area: btn; justify-self: end; }
	.avsww-account .woocommerce-Addresses, .avsww-account .woocommerce-customer-details .woocommerce-columns, .avsww-account #customer_login { grid-template-columns: 1fr; }
}
@layer avsww-guard {
	.avsww-account .avsww-acc-nav, .avsww-account .avsww-acc-nav ul { background: #fff !important; }
	.avsww-account .avsww-acc-nav li { background: none !important; border: 0 !important; box-shadow: none !important; margin: 0 0 2px !important; }
	.avsww-account .avsww-acc-nav li.woocommerce-MyAccount-navigation-link--customer-logout { border-top: 1px solid #e7e7ea !important; }
}

/* Login / Signup popup plugin (Easy Login WooCommerce) on the account page: card like the rest of the site. */
.avsww-account .xoo-el-form-inline, .avsww-account .xoo-el-form-container.xoo-el-form-inline { max-width: 520px; margin: 0 auto !important; padding: clamp(22px, 3vw, 36px) !important; background: #fff; border: 1px solid #e7e7ea; border-radius: 16px; box-shadow: 0 10px 30px rgba(17, 17, 17, .05); }
@layer avsww-guard {
	.avsww-account .xoo-el-form-inline img.xoo-el-head-img { display: block !important; max-height: 96px !important; width: auto !important; margin: 0 auto 18px !important; }
	.avsww-account .xoo-el-form-inline .xoo-el-tabs, .avsww-account .xoo-el-form-inline ul.xoo-el-tabs { border-radius: 999px !important; overflow: hidden; }
	.avsww-account .xoo-el-form-inline .xoo-aff-group input:not([type="checkbox"]):not([type="radio"]), .avsww-account .xoo-el-form-inline .xoo-aff-input-group input:not([type="checkbox"]):not([type="radio"]) { min-height: 48px !important; border-radius: 10px !important; border-color: #d9d9de !important; font-size: 15px !important; }
	.avsww-account .xoo-el-form-inline .xoo-el-action-btn, .avsww-account .xoo-el-form-inline button.button { border-radius: 999px !important; min-height: 50px !important; font-weight: 600 !important; font-size: 15px !important; }
	.avsww-account .xoo-el-form-inline a { color: #e2700a; }
}
