/* Approved Astra quote component only; no case heading, shell or global selectors. */
.pq-explorer { --pq-observed: var(--chart-observed, #8b6125); --pq-strategy: var(--chart-strategy, #526f89); margin-block: 2rem; color: var(--ink, #20272c); font: inherit; }
.pq-explorer .pq-label, .pq-explorer .pq-qualifier { font-size: .875rem; color: var(--muted, var(--ink-2, #58616a)); }
.pq-explorer .pq-funnel, .pq-explorer .pq-control-card { padding: 1.5rem; border: 1px solid var(--rule, #dddfe2); border-radius: 20px; background: var(--surface, var(--paper, #fff)); }
.pq-explorer h3 { font: 600 1.125rem/1.4 var(--font-sans, Inter, sans-serif); margin: 0 0 .75rem; }
.pq-explorer p { line-height: 1.6; }
.pq-explorer .pq-funnel-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; }
.pq-explorer .pq-segmented { display: flex; flex-wrap: wrap; border: 1px solid var(--rule, #dddfe2); border-radius: 12px; padding: .25rem; gap: .25rem; }
.pq-explorer button { min-height: 44px; padding: .5rem .8rem; border: 0; border-radius: 8px; font: inherit; font-size: .875rem; color: var(--ink, #20272c); background: transparent; cursor: pointer; touch-action: manipulation; }
.pq-explorer button:disabled { cursor: default; opacity: .65; }
.pq-explorer button[aria-pressed="true"] { color: var(--surface, var(--paper, #fff)); background: var(--ink, #20272c); }
.pq-explorer .pq-funnel-row { display: grid; grid-template-columns: 146px minmax(0, 1fr) 65px; gap: 1rem; align-items: center; margin-block: 1rem; font-size: .875rem; }
.pq-explorer .pq-funnel-row[hidden] { display: none; }
.pq-explorer .pq-funnel-row b { text-align: right; font-variant-numeric: tabular-nums; }
.pq-explorer .pq-track { height: 20px; border-radius: 4px; background: var(--rule, #dddfe2); overflow: hidden; }
.pq-explorer .pq-track i { display: block; height: 100%; width: 100%; background: var(--pq-observed); transform-origin: left center; transition: transform 240ms var(--ease, cubic-bezier(.16,1,.3,1)), background-color 180ms; }
.pq-explorer[data-quote-current-view="strategy"] [data-quote-route-bar] { background: var(--pq-strategy); }
.pq-explorer .pq-funnel-note { border-top: 1px solid var(--rule, #dddfe2); padding-top: 1rem; font-size: .875rem; }
.pq-explorer .pq-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; }
.pq-explorer .pq-input-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; border: 0; padding: 0; margin: 1rem 0; min-width: 0; }
.pq-explorer legend { font-size: .875rem; margin-bottom: .5rem; }
.pq-explorer label { min-width: 0; font-size: .875rem; }
.pq-explorer input, .pq-explorer select { box-sizing: border-box; width: 100%; min-height: 44px; padding: .5rem; margin-top: .3rem; border: 1px solid var(--rule, #dddfe2); border-radius: 8px; background: var(--surface, var(--paper, #fff)); color: var(--ink, #20272c); font: inherit; font-size: 1rem; }
.pq-explorer .pq-wide { grid-column: 1 / -1; }
.pq-explorer .pq-result { padding: 1rem; border: 1px solid var(--rule, #dddfe2); border-radius: 12px; min-height: 6rem; }
.pq-explorer .pq-result strong, .pq-explorer .pq-result small { display: block; overflow-wrap: anywhere; }
.pq-explorer .pq-result small { margin-top: .4rem; font-size: .875rem; line-height: 1.6; }
.pq-explorer .pq-result .pq-label { margin: 0 0 .3rem; }
.pq-explorer [data-quote-unit-price] { font-size: 1.5rem; font-variant-numeric: tabular-nums; }
.pq-explorer details { margin-top: .75rem; font-size: .875rem; }
.pq-explorer summary { min-height: 44px; padding-block: .7rem; cursor: pointer; }
.pq-explorer .pq-footnote, .pq-explorer noscript { font-size: .875rem; color: var(--muted, var(--ink-2, #58616a)); }
.pq-explorer :is(button, input, select, summary):focus-visible { outline: 2px solid var(--focus, var(--brand, var(--accent, #203a52))); outline-offset: 4px; }
.pq-explorer [aria-invalid="true"] { border-style: dashed; border-width: 2px; }
[data-theme="dark"] .pq-explorer { --pq-observed: var(--chart-observed, #d9af68); --pq-strategy: var(--chart-strategy, #8aa3bb); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .pq-explorer { --pq-observed: var(--chart-observed, #d9af68); --pq-strategy: var(--chart-strategy, #8aa3bb); } }
@media (max-width: 760px) { .pq-explorer .pq-controls { grid-template-columns: 1fr; } .pq-explorer .pq-funnel, .pq-explorer .pq-control-card { padding: 1rem; } .pq-explorer .pq-funnel-row { grid-template-columns: minmax(0, 1fr) 65px; gap: .4rem; } .pq-explorer .pq-track { grid-column: 1; grid-row: auto; } .pq-explorer .pq-funnel-row b { grid-column: 2; grid-row: 1 / 3; } }
@media (prefers-reduced-motion: reduce) { .pq-explorer *, .pq-explorer { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }
@media print { .pq-explorer fieldset, .pq-explorer .pq-segmented { display: none; } .pq-explorer details > * { display: block !important; } }
