/* Shop concierge: THE ADDRESS QUOTE inside the store page (line 31069 item 5, ai.features.shop_store_quote; linked only when lit).
   The place pages' quote section (public/css/sunray-place/place.css .sp-quote) in the store's colours: the framed quote at the
   page's width, its "Open the full quote" link, and the kits it can pick as chips. Flat: hairlines, never a shadow. */
.sc-quote { max-width: 1200px; margin: 0 auto; padding: 8px 20px 48px; scroll-margin-top: 8px; }
.sc-quote__lead { max-width: 62ch; margin-top: 10px; font: 400 16px/25px var(--sc-sans); color: var(--sc-text-2); }
/* the quote sizes its own height (place.js: its {sr: 'height'} messages); until it does, room for its address step */
.sc-quote__frame iframe {
    display: block; width: 100%; min-height: 640px; border: 1px solid var(--sc-border); border-radius: 12px; background: var(--sc-surface);
}
.sc-quote__open { margin-top: 10px; font: 500 14px/20px var(--sc-sans); }
.sc-quote__open a { display: inline-flex; align-items: center; gap: 4px; min-height: 40px; color: var(--sc-ink); text-underline-offset: 3px; }
.sc-quote__bag { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--sc-hairline); }
.sc-quote__h3 { margin: 0; font: 400 22px/28px var(--sc-serif); color: var(--sc-ink-strong); }
.sc-quote__hint { margin-top: 4px; font: 400 14px/20px var(--sc-sans); color: var(--sc-muted); }
.sc-quote__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 4px; padding: 0; list-style: none; }
.sc-quote__chip {
    display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 1px solid var(--sc-border);
    border-radius: 999px; background: var(--sc-surface); color: var(--sc-ink); font: 400 14px/20px var(--sc-sans); text-decoration: none;
}
.sc-quote__chip strong { font-weight: 600; }
.sc-quote__chip span { color: var(--sc-muted); font-variant-numeric: tabular-nums; }
.sc-quote__chip:hover { border-color: var(--sc-olive); }
.sc-quote__chip[aria-busy="true"] { opacity: .6; pointer-events: none; }
.sc-quote__ask { margin-top: 4px; }
@media (max-width: 479.98px) {
    .sc-quote { padding: 4px 16px 40px; }
    .sc-quote__frame { margin: 0 -8px; }
    .sc-quote__frame iframe { min-height: 560px; border-radius: 10px; }
}
/* Line 31087 item 2 (shop_quote_widget): lit, the section is only the quote's beginning, a small card like the quote's
   own "Start your instant quote": pool or well, the address, Start my quote. Start opens the quote's own page (.sc-quote-page). */
.sc-qw {
    display: grid; gap: 12px; max-width: 560px; margin-top: 16px; padding: 16px; border: 1px solid var(--sc-border);
    border-radius: 14px; background: var(--sc-surface);
}
.sc-qw__kind { display: flex; gap: 4px; min-width: 0; margin: 0; padding: 4px; border: 1px solid var(--sc-border); border-radius: 999px; }
.sc-qw__legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.sc-qw__opt { position: relative; display: flex; flex: 1 1 0; min-width: 0; }
.sc-qw__opt input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.sc-qw__opt span {
    display: flex; flex: 1; align-items: center; justify-content: center; min-height: 40px; padding: 0 12px; border-radius: 999px;
    color: var(--sc-text-2); font: 500 14px/18px var(--sc-sans); text-align: center;
}
.sc-qw__opt input:checked + span { background: var(--sc-olive-btn); color: var(--sc-on-dark); }
.sc-qw__opt input:focus-visible + span { outline: 2px solid var(--sc-olive); outline-offset: 2px; }
.sc-qw__label { font: 500 14px/20px var(--sc-sans); color: var(--sc-ink); }
.sc-qw__field { position: relative; display: flex; align-items: center; margin-top: -6px; }
.sc-qw__pin { position: absolute; left: 14px; color: var(--sc-text-2); pointer-events: none; }
.sc-qw__addr {
    width: 100%; min-height: 48px; padding: 0 14px 0 40px; border: 1px solid var(--sc-border-input); border-radius: 12px;
    background: var(--sc-bg); color: var(--sc-ink); font: 400 16px/22px var(--sc-sans);
}
.sc-qw__addr::placeholder { color: var(--sc-placeholder); }
.sc-qw__addr:focus-visible { outline: 2px solid var(--sc-olive); outline-offset: 1px; }
.sc-qw__start { justify-content: center; gap: 8px; width: 100%; min-height: 48px; }
.sc-qw__ask { margin-top: 10px; }
/* the quote's own page: the store's header and back link, the quote at the page's width, Buy on the kit it picks */
.sc-quote-page { padding-bottom: 8px; }
.sc-quote--page { padding-top: 6px; }
.sc-quote-page__head { margin-bottom: 14px; }
.sc-quote-page__title { margin: 6px 0 0; font: 400 clamp(26px, 5vw, 36px)/1.15 var(--sc-serif); color: var(--sc-ink-strong); text-wrap: balance; }
.sc-quote-page__where { margin-top: 8px; font: 500 14px/20px var(--sc-sans); color: var(--sc-text-2); overflow-wrap: anywhere; }
.sc-quote__frame--page iframe { min-height: 760px; }
.sc-quote__chip[aria-current="true"] { border-color: var(--sc-olive); }
.sc-quote__picked { padding: 2px 8px; border-radius: 999px; background: var(--sc-badge-green); color: var(--sc-on-dark); font: 600 12px/16px var(--sc-sans); font-style: normal; }
.sc-quote__picked[hidden] { display: none; }
@media (max-width: 479.98px) {
    .sc-qw { padding: 14px; }
    .sc-quote__frame--page iframe { min-height: 680px; }
}
