/* AME Quote: product quote panel, inquiry dialog, quote page. Uses theme tokens with fallbacks. */

.quote-panel { margin-top: 1.5rem; border: 1px solid var(--line, #dfe3ec); border-radius: var(--radius, 12px); background: var(--card, #fff); box-shadow: var(--shadow); overflow: hidden; scroll-margin-top: 90px; }
.quote-panel__title { display: flex; align-items: center; gap: .6rem; margin: 0; padding: .9rem 1.25rem; background: var(--navy, #1b1f4b); color: #fff; font-size: 1.25rem; }
.quote-panel__title .icon { color: var(--orange, #f08030); }
.ame-quote-form { display: grid; gap: 1rem; padding: 1.25rem; }
.quote-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); }
.quote-grid__full { grid-column: 1 / -1; }
.ame-quote-field { display: grid; gap: .35rem; min-width: 0; border: 0; padding: 0; margin: 0; }
.ame-quote-field > label, .ame-quote-field > legend { font-weight: 600; font-size: .92rem; padding: 0; margin-bottom: .35rem; }
.req { color: var(--orange-2, #d9661a); }

.swatches { display: flex; flex-wrap: wrap; gap: .5rem; }
.swatch { position: relative; cursor: pointer; }
.swatch input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.swatch__dot { display: block; width: 36px; height: 36px; border-radius: 8px; border: 1px solid rgba(0, 0, 0, .15); box-shadow: inset 0 0 0 3px var(--card, #fff); transition: box-shadow .15s; }
.swatch input:checked + .swatch__dot { box-shadow: inset 0 0 0 3px var(--card, #fff), 0 0 0 2px var(--blue, #3a3f9a); }
.swatch input:checked + .swatch__dot::after { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 6px; border: solid #fff; border-width: 0 0 2px 2px; transform: translate(-50%, -65%) rotate(-45deg); filter: drop-shadow(0 0 1px #000); }
.swatch input:focus-visible + .swatch__dot, .swatch input:focus-visible + .swatch__text { outline: 3px solid var(--focus, #f08030); outline-offset: 2px; }
.swatch__text { display: inline-block; padding: .45rem .8rem; border: 1px solid var(--line, #dfe3ec); border-radius: 8px; font-size: .9rem; }
.swatch input:checked + .swatch__text { border-color: var(--blue, #3a3f9a); background: rgba(58, 63, 154, .1); font-weight: 600; }

.stepper { display: inline-flex; align-items: stretch; border: 1px solid var(--line, #dfe3ec); border-radius: var(--radius-sm, 8px); overflow: hidden; width: max-content; background: var(--card, #fff); }
.stepper button { width: 46px; border: 0; background: var(--surface, #f3f5f8); color: var(--text); cursor: pointer; display: grid; place-items: center; }
.stepper button:hover { background: var(--surface-2, #e9edf3); }
.stepper input { width: 110px; border: 0; border-radius: 0; text-align: center; font-weight: 600; -moz-appearance: textfield; }
.stepper input::-webkit-inner-spin-button { -webkit-appearance: none; }

.check { display: flex; align-items: center; gap: .55rem; font-weight: 500; cursor: pointer; padding: .25rem 0; }
.check input { width: 18px; height: 18px; accent-color: var(--blue, #3a3f9a); }

.quote-panel__actions { display: grid; gap: .6rem; grid-template-columns: 1fr 1fr; }
@media (max-width: 480px) { .quote-panel__actions { grid-template-columns: 1fr; } }
.quote-panel__actions .button { width: 100%; }
.ame-quote-feedback:empty, .ame-quote-status:empty { display: none; }
.ame-quote-feedback { margin: 0; font-weight: 600; color: var(--green, #4c9a2a); }
.ame-quote-status { margin: 0; font-weight: 600; }
.ame-quote-status.is-error { color: #c62828; }
.ame-quote-status.is-ok { color: var(--green, #4c9a2a); }

.dropzone { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.25rem; border: 2px dashed var(--line, #dfe3ec); border-radius: var(--radius, 12px); cursor: pointer; position: relative; font-weight: 400 !important; transition: border-color .2s, background .2s; }
.dropzone:hover, .dropzone.has-file { border-color: var(--blue, #3a3f9a); background: rgba(58, 63, 154, .05); }
.dropzone .icon { width: 32px; height: 32px; color: var(--blue, #3a3f9a); }
.dropzone__text { display: grid; }
.dropzone__text small { color: var(--muted); }
.dropzone__name { margin-left: auto; font-weight: 600; color: var(--link); word-break: break-all; }
.dropzone input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }

/* Quick inquiry dialog */
.inquiry-dialog { width: min(720px, calc(100vw - 24px)); max-height: calc(100vh - 24px); padding: 0; border: 0; border-radius: var(--radius, 12px); background: var(--card, #fff); color: var(--text); box-shadow: var(--shadow-lg); }
.inquiry-dialog::backdrop { background: rgba(8, 10, 28, .6); backdrop-filter: blur(3px); }
.inquiry-dialog form { display: grid; gap: 1rem; padding: 1.25rem 1.5rem 1.5rem; }
.inquiry-dialog__head { display: flex; align-items: center; justify-content: space-between; }
.inquiry-dialog__head h2 { margin: 0; font-size: 1.5rem; }
.inquiry-dialog__item { display: flex; gap: .9rem; align-items: center; padding: .75rem; border-radius: var(--radius-sm, 8px); background: var(--surface, #f3f5f8); }
.inquiry-dialog__item img { width: 56px; height: 56px; object-fit: contain; background: #fff; border-radius: 6px; }
.inquiry-dialog__item div { display: grid; font-size: .9rem; color: var(--muted); }
.inquiry-dialog__item strong { color: var(--text); font-size: 1rem; }

/* Quote page */
.ame-quote { display: grid; gap: 2rem; }
.ame-quote-request { display: grid; gap: 2rem; }
.quote-step { padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--line, #dfe3ec); border-radius: var(--radius, 12px); background: var(--card, #fff); box-shadow: var(--shadow); display: grid; gap: 1rem; }
.quote-step__title { display: flex; align-items: center; gap: .75rem; margin: 0; font-size: 1.45rem; }
.quote-step__title span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--orange, #f08030); color: #16182b; font-size: 1rem; }
.quote-submit { justify-self: start; min-width: 260px; }
.ame-quote-items { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.ame-quote-item { display: grid; grid-template-columns: 64px 1fr auto auto; align-items: center; gap: 1rem; padding: .75rem; border: 1px solid var(--line, #dfe3ec); border-radius: var(--radius-sm, 8px); background: var(--card, #fff); }
.ame-quote-item img { width: 64px; height: 64px; object-fit: contain; border-radius: 6px; background: var(--well, #f6f7fa); }
.ame-quote-item__info { display: grid; gap: .15rem; min-width: 0; }
.ame-quote-item__info a { font-weight: 600; }
.ame-quote-item__sku, .ame-quote-item__opts { font-size: .86rem; color: var(--muted, #5b6178); }
.ame-quote-item__qty { display: grid; gap: .2rem; font-size: .8rem; color: var(--muted, #5b6178); font-weight: 500; }
.ame-quote-item__qty input { width: 100px; }
.ame-quote-remove { border: 0; background: none; color: #c62828; cursor: pointer; text-decoration: underline; min-height: 44px; font-weight: 600; }
.ame-quote-empty { margin: 0; color: var(--muted); }
.extra-rows h3 { font-size: 1.1rem; margin-bottom: .5rem; }
.extra-row { display: grid; grid-template-columns: 2fr 100px 2fr 44px; gap: .5rem; margin-bottom: .5rem; }
@media (max-width: 640px) {
	.ame-quote-item { grid-template-columns: 56px 1fr; }
	.ame-quote-item img { width: 56px; height: 56px; }
	.ame-quote-item__qty, .ame-quote-remove { grid-column: 2; justify-self: start; }
	.extra-row { grid-template-columns: 1fr 90px; }
	.extra-row [data-f="details"] { grid-column: 1 / -1; }
}
.ame-quote-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ame-quote-notice { padding: 1rem 1.25rem; border-radius: var(--radius-sm, 8px); border-left: 4px solid; font-weight: 500; }
.ame-quote-notice--success { background: rgba(76, 154, 42, .12); border-color: var(--green, #4c9a2a); }
.ame-quote-notice--error { background: rgba(198, 40, 40, .1); border-color: #c62828; }
