:root {
	--alflow-ink: #17211b;
	--alflow-muted: #66736b;
	--alflow-line: #dce3de;
	--alflow-soft: #f5f7f5;
	--alflow-accent: #1d6a45;
	--alflow-danger: #a12b2b;
}
.alflow-quote-app { color: var(--alflow-ink); max-width: 1240px; margin: 0 auto; }
.alflow-quote-hero { max-width: 760px; margin-bottom: 32px; }
.alflow-quote-hero h1 { margin: 0 0 10px; font-size: clamp(2rem, 4vw, 3.4rem); }
.alflow-eyebrow { color: var(--alflow-accent); font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.alflow-product-search { position: relative; z-index: 3; padding: 22px; margin-bottom: 28px; border: 1px solid var(--alflow-line); border-radius: 14px; background: var(--alflow-soft); }
.alflow-product-search > label { display: block; margin-bottom: 8px; font-weight: 700; }
.alflow-search-control { position: relative; }
.alflow-search-control input { width: 100%; min-height: 48px; padding: 10px 44px 10px 14px; border: 1px solid var(--alflow-line); border-radius: 8px; background: #fff; }
.alflow-search-spinner { display: none; position: absolute; top: 16px; right: 16px; width: 16px; height: 16px; border: 2px solid var(--alflow-line); border-top-color: var(--alflow-accent); border-radius: 50%; animation: alflow-spin .7s linear infinite; }
.alflow-product-search.is-loading .alflow-search-spinner { display: block; }
@keyframes alflow-spin { to { transform: rotate(360deg); } }
.alflow-search-results { display: none; position: absolute; left: 22px; right: 22px; top: calc(100% - 18px); overflow: hidden; border: 1px solid var(--alflow-line); border-radius: 10px; background: #fff; box-shadow: 0 18px 45px rgba(23, 33, 27, .14); }
.alflow-search-results.is-open { display: block; }
.alflow-search-result { display: grid; grid-template-columns: 54px 1fr auto; gap: 12px; align-items: center; padding: 10px 12px; border-bottom: 1px solid var(--alflow-line); }
.alflow-search-result:last-child { border: 0; }
.alflow-search-result img { width: 54px; height: 54px; object-fit: cover; border-radius: 6px; }
.alflow-search-result a { color: var(--alflow-ink); font-weight: 700; text-decoration: none; }
.alflow-search-result span { display: block; color: var(--alflow-muted); font-size: .8rem; }
.alflow-search-result button { width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%; color: #fff; background: var(--alflow-accent); font-size: 1.4rem; cursor: pointer; }
.alflow-select-options { padding: 8px 10px; border: 1px solid var(--alflow-line); border-radius: 6px; font-size: .82rem; }
.alflow-no-results { margin: 0; padding: 16px; color: var(--alflow-muted); }
.alflow-quote-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr); gap: 32px; align-items: start; }
.alflow-cart-panel, .alflow-contact-panel { padding: 26px; border: 1px solid var(--alflow-line); border-radius: 14px; background: #fff; }
.alflow-cart-panel h2, .alflow-contact-panel h2 { margin-top: 0; }
.alflow-contact-panel { position: sticky; top: 24px; }
.alflow-cart-item { display: grid; grid-template-columns: 78px minmax(0, 1fr) auto 34px; gap: 16px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--alflow-line); transition: opacity .2s; }
.alflow-cart-item:first-child { padding-top: 6px; }
.alflow-cart-item.is-loading, .alflow-cart-item.is-saving { opacity: .48; pointer-events: none; }
.alflow-item-image img { width: 78px; height: 78px; object-fit: cover; border-radius: 8px; }
.alflow-item-name { display: block; color: var(--alflow-ink); font-weight: 700; text-decoration: none; }
.alflow-item-sku, .alflow-item-variation { display: block; margin-top: 4px; color: var(--alflow-muted); font-size: .82rem; }
.alflow-quantity { display: grid; grid-template-columns: 36px 48px 36px; height: 38px; border: 1px solid var(--alflow-line); border-radius: 8px; overflow: hidden; }
.alflow-quantity button, .alflow-quantity input { width: 100%; height: 100%; padding: 0; border: 0; border-radius: 0; background: #fff; text-align: center; }
.alflow-quantity button { color: var(--alflow-ink); font-size: 1.1rem; cursor: pointer; }
.alflow-quantity input { border-right: 1px solid var(--alflow-line); border-left: 1px solid var(--alflow-line); appearance: textfield; }
.alflow-quantity input::-webkit-inner-spin-button { appearance: none; }
.alflow-remove-item { width: 32px; height: 32px; padding: 0; border: 0; background: transparent; color: var(--alflow-muted); font-size: 1.5rem; cursor: pointer; }
.alflow-remove-item:hover { color: var(--alflow-danger); }
.alflow-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.alflow-form-grid label, .alflow-message { display: block; }
.alflow-form-grid label > span, .alflow-message > span { display: block; margin-bottom: 5px; font-size: .82rem; font-weight: 700; }
.alflow-form-grid input, .alflow-form-grid select, .alflow-message textarea { width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid var(--alflow-line); border-radius: 7px; background: #fff; }
.alflow-form-grid .alflow-wide { grid-column: 1 / -1; }
.alflow-delivery-details { margin: 20px 0; border-top: 1px solid var(--alflow-line); border-bottom: 1px solid var(--alflow-line); }
.alflow-delivery-details summary { display: flex; justify-content: space-between; padding: 15px 0; font-weight: 700; cursor: pointer; }
.alflow-delivery-details summary span { color: var(--alflow-accent); font-size: .8rem; }
.alflow-delivery-details .alflow-form-grid { padding-bottom: 18px; }
.alflow-message textarea { resize: vertical; }
.alflow-consent { display: flex; gap: 8px; margin: 16px 0; font-size: .86rem; }
.alflow-submit-quote { width: 100%; }
.alflow-form-status.is-error, .alflow-cart-feedback.is-error { color: var(--alflow-danger); }
.alflow-form-status { margin-top: 10px; }
.alflow-cart-feedback { visibility: hidden; min-height: 24px; color: var(--alflow-accent); font-size: .85rem; }
.alflow-cart-feedback.is-visible { visibility: visible; }
.alflow-success-message { padding: 22px; border-radius: 10px; background: var(--alflow-soft); text-align: center; }
.alflow-status, .alflow-admin-status { display: inline-block; padding: 4px 9px; border-radius: 999px; background: #e6e9e7; font-size: .78rem; font-weight: 700; }
.alflow-status-new { color: #674d00; background: #fff0b8; }
.alflow-status-processing, .alflow-status-sent { color: #124a70; background: #d8efff; }
.alflow-status-accepted, .alflow-status-converted { color: #1b5e36; background: #d9f5e5; }
.alflow-status-rejected, .alflow-status-expired, .alflow-status-cancelled { color: #7b2525; background: #f9dddd; }
.alflow-add-quote { margin-top: 10px !important; }
.alflow-add-quote.is-added { background: var(--alflow-accent) !important; color: #fff !important; }
.alflow-view-quote-cart { display: inline-block; margin: 10px 0 0 12px; color: var(--alflow-accent); font-weight: 700; }
@media (max-width: 850px) {
	.alflow-quote-layout { grid-template-columns: 1fr; }
	.alflow-contact-panel { position: static; }
}
@media (max-width: 560px) {
	.alflow-cart-panel, .alflow-contact-panel, .alflow-product-search { padding: 17px; }
	.alflow-cart-item { grid-template-columns: 62px 1fr 30px; }
	.alflow-item-image img { width: 62px; height: 62px; }
	.alflow-quantity { grid-column: 2 / 4; justify-self: start; }
	.alflow-remove-item { grid-column: 3; grid-row: 1; }
	.alflow-form-grid { grid-template-columns: 1fr; }
	.alflow-form-grid .alflow-wide { grid-column: auto; }
	.alflow-search-results { left: 17px; right: 17px; }
}

/* Order flow v1 */
.alflow-stepper{display:flex;gap:8px;margin:0 0 26px}.alflow-stepper button{display:flex;align-items:center;gap:8px;flex:1;padding:12px;border:0;border-bottom:3px solid var(--alflow-line);color:var(--alflow-muted);background:transparent;text-align:left}.alflow-stepper button span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--alflow-soft)}.alflow-stepper button.is-active,.alflow-stepper button.is-complete{color:var(--alflow-ink);border-color:var(--alflow-accent)}.alflow-stepper button.is-active span,.alflow-stepper button.is-complete span{color:#fff;background:var(--alflow-accent)}
.alflow-order-step{display:none}.alflow-order-step.is-active{display:block}.alflow-cart-panel,.alflow-contact-panel,.alflow-review-panel{position:static;max-width:980px;padding:26px;margin:0 auto;border:1px solid var(--alflow-line);border-radius:14px;background:#fff}.alflow-cart-item{grid-template-columns:78px minmax(0,1fr) auto minmax(110px,auto) 34px}.alflow-item-price{text-align:right}.alflow-item-price span,.alflow-item-price small{display:block;color:var(--alflow-muted);font-size:.75rem}.alflow-item-price strong{display:block}.alflow-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.alflow-review-grid>div{padding:15px;border-radius:8px;background:var(--alflow-soft)}.alflow-review-grid h3{margin:0 0 8px;font-size:1rem}.alflow-review-table small{display:block;color:var(--alflow-muted)}.alflow-step-actions,.alflow-review-actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.alflow-next-step{margin-top:22px!important;float:right}.alflow-organization-summary{display:flex;flex-direction:column;padding:14px;margin:18px 0;border-radius:8px;background:var(--alflow-soft)}.alflow-custom-fields{margin-top:18px}.alflow-form-grid textarea{width:100%;padding:9px 11px;border:1px solid var(--alflow-line);border-radius:7px}
.alflow-drawer-overlay{position:fixed;inset:0;z-index:99998;opacity:0;background:rgba(20,28,23,.42);transition:opacity .24s}.alflow-drawer-overlay.is-open{opacity:1}.alflow-cart-drawer{position:fixed;top:0;right:0;z-index:99999;display:grid;grid-template-rows:auto 1fr auto;width:min(440px,100vw);height:100dvh;transform:translateX(105%);background:#fff;box-shadow:-20px 0 55px rgba(0,0,0,.18);transition:transform .24s ease}.alflow-cart-drawer.is-open{transform:translateX(0)}.alflow-cart-drawer>header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--alflow-line)}.alflow-cart-drawer>header span{font-size:1.15rem;font-weight:700}.alflow-drawer-count{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:8px;padding:0 6px;border-radius:999px;color:#fff;background:var(--alflow-accent);font-size:.75rem}.alflow-drawer-close{border:0;background:transparent;font-size:2rem;cursor:pointer}.alflow-drawer-items{overflow:auto;padding:0 20px}.alflow-drawer-item{display:grid;grid-template-columns:64px 1fr 30px;gap:12px;align-items:start;padding:16px 0;border-bottom:1px solid var(--alflow-line)}.alflow-drawer-item>img{width:64px;height:64px;object-fit:cover;border-radius:7px}.alflow-drawer-item strong,.alflow-drawer-item small{display:block}.alflow-drawer-item small{margin:3px 0 8px;color:var(--alflow-muted)}.alflow-drawer-item .alflow-quantity{grid-template-columns:32px 42px 32px;height:34px}.alflow-cart-drawer>footer{padding:20px;border-top:1px solid var(--alflow-line)}.alflow-cart-drawer>footer .button{display:block;width:100%;text-align:center}.alflow-drawer-empty{padding:30px 0;text-align:center;color:var(--alflow-muted)}
.alflow-status-approved,.alflow-status-completed{color:#1b5e36;background:#d9f5e5}.alflow-status-shipped{color:#124a70;background:#d8efff}.alflow-status-cancellation_requested{color:#774c00;background:#fff0b8}.alflow-status-cancelled_customer,.alflow-status-cancelled_alflow,.alflow-status-error{color:#7b2525;background:#f9dddd}
.alflow-phone-field{display:grid!important;grid-template-columns:84px 1fr;gap:6px}.alflow-phone-field select,.alflow-phone-field input{width:100%}
.alflow-quote-app .button.alt,.alflow-cart-drawer .button{border-color:var(--alflow-button,var(--alflow-accent));background:var(--alflow-button,var(--alflow-accent));color:#fff}
@media(max-width:850px){.alflow-cart-item{grid-template-columns:70px 1fr 34px}.alflow-cart-item>.alflow-quantity,.alflow-cart-item>.alflow-item-price{grid-column:2}.alflow-cart-item>.alflow-remove-item{grid-column:3;grid-row:1}}
@media(max-width:560px){.alflow-stepper button{font-size:0;justify-content:center}.alflow-stepper button span{font-size:.9rem}.alflow-review-grid{grid-template-columns:1fr}.alflow-step-actions,.alflow-review-actions{flex-direction:column-reverse}}
