/* Family First shopping — warm gold, quiet charcoal, room for the cars. */
:root { --shop-gold:#d2b467; --shop-ink:#f7f3e9; --shop-muted:#b3b2ae; --shop-line:#ffffff17; --shop-surface:#14161a; }
[hidden] { display:none !important; }
.shop-card { position:relative; transition:transform .22s ease,box-shadow .22s ease !important; }
.shop-card:hover { transform:translateY(-4px); box-shadow:0 16px 40px #0003 !important; }
.shop-card .listing-image { aspect-ratio:4/3; height:auto; overflow:hidden; background:#191b20; }
.shop-card .listing-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.shop-card:hover .listing-image img { transform:scale(1.025); }
.shop-card .listing-body { padding:1.5rem; }
.shop-card .listing-body h3 { font-size:1.4rem; margin:0 0 .35rem; line-height:1.3; letter-spacing:-.035em; }
.shop-card .shop-trim { font-size:.86rem; line-height:1.5; margin:0 0 1rem; color:var(--shop-muted); }
.shop-quick-facts { display:flex; align-items:center; gap:.65rem; font-size:.83rem; color:#e0ddd5; }
.shop-quick-facts span+span::before { content:'·'; margin-right:.65rem; color:var(--shop-gold); }
.shop-equipment { display:flex; gap:.45rem; flex-wrap:wrap; min-height:2.5rem; margin-top:1rem; }
.shop-equipment span { font-size:.7rem; color:#c9c6bd; background:#ffffff07; border:1px solid #ffffff10; padding:.35rem .55rem; border-radius:4px; }
.shop-card .listing-meta { margin-top:1rem; padding-top:1rem; display:block; border-top:1px solid var(--shop-line); }
.shop-card .listing-price strong { font-size:1.9rem; letter-spacing:-.04em; }
.shop-card .listing-stock { display:block; font-size:.67rem; color:#93938e; margin-top:.8rem; }
.shop-card .listing-delivery { border:0; padding:1rem 0 0; margin:0; }
.shop-save { display:grid; place-items:center; position:absolute; right:14px; top:14px; width:42px; height:42px; border:1px solid #ffffff50; border-radius:50%; background:#101216d9; color:white; cursor:pointer; backdrop-filter:blur(8px); }
.shop-save svg { width:21px; height:21px; }
[data-save][aria-pressed=true] svg { fill:var(--shop-gold); stroke:var(--shop-gold); }
.shop-compare { display:flex; align-items:center; justify-content:center; gap:.55rem; width:100%; min-height:44px; background:#ffffff04; border:0; border-top:1px solid var(--shop-line); color:#c5c3bc; font:inherit; font-size:.76rem; cursor:pointer; }
.shop-compare svg { width:16px; height:16px; }
.shop-compare[aria-pressed=true] { background:#d2b46715; color:var(--shop-gold); }
.saved-nav { display:flex; gap:.4rem; align-items:center; border:0; background:none; color:var(--shop-ink); font:inherit; font-size:.76rem; cursor:pointer; padding:.6rem .2rem; }
.saved-nav svg { width:17px; height:17px; }.saved-nav span { color:var(--shop-gold); }
.shop-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem; }
.shopping-shelf { padding-block:3rem; }.shopping-shelf[hidden] { display:none; }
.shop-section-head { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:1.8rem; }
.shop-section-head h2 { font:700 clamp(1.6rem,3vw,2.5rem)/1.2 Manrope,sans-serif; letter-spacing:-.045em; margin:.4rem 0 0; }
.shop-section-head a,.shop-text-button { color:var(--shop-gold); font:600 .85rem/1.5 'DM Sans',sans-serif; background:none; border:0; padding:.5rem 0; cursor:pointer; }
.match-reason { color:var(--shop-gold) !important; font-size:.72rem !important; margin:0 0 .7rem !important; }
.shop-dialog { width:min(1080px,calc(100% - 32px)); max-height:90svh; border:1px solid #b8923b55; border-radius:16px; padding:clamp(1.2rem,4vw,2.5rem); background:#101216; color:var(--shop-ink); overscroll-behavior:contain; }
.shop-dialog::backdrop,.gallery-dialog::backdrop { background:#000c; backdrop-filter:blur(5px); }
.shop-dialog-head { display:flex; justify-content:space-between; gap:1rem; align-items:start; }
.shop-dialog h2 { font:700 clamp(1.6rem,3vw,2.3rem)/1.15 Manrope,sans-serif; letter-spacing:-.04em; margin:.35rem 0; }
.shop-close { background:#ffffff0a; color:white; border:1px solid #ffffff20; min-width:42px; height:42px; border-radius:50%; font-size:1.5rem; cursor:pointer; }
.shop-muted { color:var(--shop-muted); font-size:.78rem; line-height:1.65; }
.shop-empty { text-align:center; padding:3rem 1rem; }.shop-empty svg { color:var(--shop-gold); width:42px;height:42px; }.shop-empty p { color:var(--shop-muted); }
.shop-outline { background:transparent !important; border:1px solid #d2b46770 !important; color:var(--shop-ink) !important; cursor:pointer; }
.shop-notice { position:fixed; bottom:100px; left:50%; transform:translate(-50%,10px); background:var(--shop-gold); color:#101216; border-radius:8px; padding:.8rem 1.2rem; font-size:.85rem; max-width:calc(100% - 32px); width:max-content; z-index:500; pointer-events:none; opacity:0; transition:opacity .2s,transform .2s; }
.shop-notice.visible { opacity:1; transform:translate(-50%,0); }
.compare-bar { position:fixed; bottom:20px; left:24px; z-index:85; display:flex; align-items:center; gap:1.2rem; background:#23231feF; border:1px solid #d2b46770; border-radius:10px; color:var(--shop-ink); padding:.7rem 1rem; box-shadow:0 5px 30px #0006; font-size:.82rem; backdrop-filter:blur(16px); }
.compare-bar button { border:0; background:none; color:var(--shop-gold); cursor:pointer; font:600 .85rem 'DM Sans',sans-serif; min-height:32px; }
.comparison-scroll { overflow:auto; }.comparison-table { width:100%; border-collapse:collapse; margin-top:1.5rem; table-layout:fixed; min-width:600px; }
.comparison-table th,.comparison-table td { padding:1rem; border-bottom:1px solid var(--shop-line); text-align:left; vertical-align:top; font-size:.86rem; line-height:1.6; overflow-wrap:anywhere; }
.comparison-table th { font-weight:600; }.comparison-table tbody th { color:var(--shop-muted); width:160px; }.comparison-table img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:8px; margin-bottom:.7rem; }
.comparison-table a { display:block; color:var(--shop-ink); }.comparison-table button { background:none;border:0;color:var(--shop-gold);padding:.5rem 0;cursor:pointer; }
.fendy-invitation { display:grid; grid-template-columns:1fr 1fr; gap:5rem; padding-block:4rem; background:#151612; border-block:1px solid #d2b46720; }
.fendy-invitation h2 { font:700 clamp(2rem,3.5vw,3.2rem)/1.15 Manrope,sans-serif; letter-spacing:-.045em; margin:.8rem 0; }
.fendy-invitation p:not(.section-label) { color:var(--shop-muted); max-width:460px; line-height:1.75; }.fendy-invitation .button { margin-top:1rem; cursor:pointer; }
.fendy-invitation-prompts { display:flex; flex-direction:column; gap:1rem; justify-content:center; }.fendy-invitation-prompts > span { color:var(--shop-gold); font-size:.75rem; text-transform:uppercase; letter-spacing:.15em; }
.fendy-invitation-prompts button { padding:1.3rem 0; border:0; border-bottom:1px solid #d2b46730; color:var(--shop-ink); background:none; text-align:left; font:500 clamp(1rem,2vw,1.25rem)/1.5 'DM Sans',sans-serif; cursor:pointer; transition:padding .2s,color .2s; }
.fendy-invitation-prompts button:hover { padding-left:.5rem; color:var(--shop-gold); }
/* Vehicle detail: a continuous story with a quiet, persistent purchase panel. */
.storefront .vehicle-page { padding-top:1.8rem; }.vehicle-back { color:var(--shop-muted); margin-bottom:1.5rem; }
.premium-detail { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:2rem; align-items:start; position:relative; }
.premium-detail .vehicle-gallery { grid-column:1; min-width:0; gap:.65rem; animation:shop-arrive .45s ease both; }
.premium-detail .vehicle-main-photo { min-height:0; width:100%; padding:0; aspect-ratio:4/3; border:0; border-radius:14px; cursor:zoom-in; background:#16181c; }
.premium-detail .vehicle-main-photo img { min-height:0; width:100%; height:100%; object-fit:contain; }
.gallery-count { position:absolute; right:16px; bottom:16px; padding:.6rem .85rem; background:#090a0cd9; border:1px solid #ffffff20; border-radius:6px; color:white; font:600 .75rem 'DM Sans',sans-serif; }
.premium-detail .vehicle-thumbnails { display:flex; overflow:auto; gap:.6rem; padding-block:.25rem; scroll-snap-type:x mandatory; }
.premium-detail .vehicle-thumbnails button { width:100px; flex:none; border-radius:6px; opacity:.65; scroll-snap-align:start; }.premium-detail .vehicle-thumbnails button.active { opacity:1; border:1px solid var(--shop-gold); }
.vehicle-videos summary { padding:1rem 0; cursor:pointer; color:var(--shop-gold); }.vehicle-videos video { width:100%; max-height:480px; }
.premium-detail .vehicle-summary { grid-column:2; grid-row:1 / 3; position:sticky; top:105px; padding:1.8rem; border:1px solid #ffffff15; border-radius:14px; background:#15171b; box-shadow:0 12px 36px #0002; animation:shop-arrive .5s .06s ease both; }
.premium-detail .vehicle-summary h1 { font-size:2rem; line-height:1.13; letter-spacing:-.045em; margin-top:.8rem; }
.vehicle-subtitle { color:var(--shop-muted); font-size:.83rem; line-height:1.6; margin:.7rem 0 1.2rem; }
.premium-detail .vehicle-summary .button { min-height:48px; margin-top:.7rem; padding:.85rem 1rem; font-size:.85rem; }
.premium-detail .vehicle-price-breakdown { margin-top:1.25rem; }.premium-detail .vehicle-price { font-size:2.3rem; margin:.25rem 0; }
.premium-detail .vehicle-price-breakdown dl { font-size:.77rem; }.premium-detail .price-fee-note { color:var(--shop-muted); font-size:.68rem; line-height:1.6; }
.vehicle-fendy-link { display:flex; justify-content:center; align-items:center; gap:.5rem; width:100%; background:none; border:0; color:var(--shop-gold); padding:1.2rem 0; cursor:pointer; font:600 .82rem 'DM Sans',sans-serif; }
.vehicle-fendy-link svg,.vehicle-delivery-link svg { width:19px; height:19px; }
.premium-detail .vehicle-delivery-link { display:flex; align-items:center; gap:.5rem; font-size:.76rem; color:var(--shop-muted); margin:0; padding:1rem 0; border-top:1px solid var(--shop-line); }
.vehicle-summary-tools { display:flex; border-top:1px solid var(--shop-line); margin-top:.25rem; padding-top:.8rem; gap:.3rem; justify-content:space-between; }
.vehicle-summary-tools button { display:flex; gap:.4rem; align-items:center; justify-content:center; padding:.5rem 0; color:var(--shop-muted); font:500 .76rem 'DM Sans',sans-serif; background:none; border:0; cursor:pointer; }.vehicle-summary-tools svg { width:16px; height:16px; }
.vehicle-content { grid-column:1; min-width:0; }.vehicle-sections { display:flex; align-items:center; gap:.2rem; position:sticky; top:86px; background:#101216f5; border:1px solid #ffffff14; border-radius:10px; padding:.45rem; z-index:30; overflow:auto; scrollbar-width:none; backdrop-filter:blur(15px); }
.vehicle-sections a { white-space:nowrap; font-size:.74rem; font-weight:600; color:#c6c5c0; padding:.7rem .8rem; border-radius:6px; transition:background .2s,color .2s; }.vehicle-sections a.active,.vehicle-sections a:hover { color:var(--shop-gold); background:#d2b46712; }
.vehicle-section { padding:3.5rem 0; border-bottom:1px solid var(--shop-line); scroll-margin-top:165px; }.vehicle-section h2 { font:700 clamp(1.8rem,3vw,2.6rem)/1.18 Manrope,sans-serif; letter-spacing:-.045em; margin:.6rem 0 1.3rem; }.section-intro { color:var(--shop-muted); font-size:.9rem; line-height:1.75; }
.vehicle-highlight-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:2rem 0; }.vehicle-highlight { padding:1.4rem; border:1px solid #ffffff15; background:#15171b; border-radius:10px; }.vehicle-highlight > svg { width:29px; height:29px; color:var(--shop-gold); }.vehicle-highlight h3 { font-size:.97rem; margin:1.3rem 0 .6rem; line-height:1.5; }.vehicle-highlight p { font-size:.8rem; line-height:1.75; color:var(--shop-muted); margin:0; }
.vehicle-question { padding:1.5rem 0 0; }.vehicle-question > div:first-child { display:flex; align-items:center; gap:.65rem; }.vehicle-question svg { width:24px; height:24px; color:var(--shop-gold); }.vehicle-question p { color:var(--shop-muted); font-size:.85rem; }.question-chips { display:flex; gap:.65rem; flex-wrap:wrap; }.question-chips button { font:500 .76rem/1.5 'DM Sans',sans-serif; color:var(--shop-gold); background:#d2b4670e; border:1px solid #d2b46725; border-radius:30px; padding:.65rem 1rem; cursor:pointer; transition:background .2s; }.question-chips button:hover { background:#d2b46722; }
.feature-group-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem 2rem; margin-top:2rem; }.feature-group { display:flex; gap:1rem; padding:1rem 0 1.5rem; border-bottom:1px solid var(--shop-line); }.spec-icon { width:42px; height:42px; border-radius:50%; flex:none; display:grid; place-items:center; color:var(--shop-gold); background:#d2b4670c; }.spec-icon svg { width:22px; height:22px; }.feature-group h3 { font-size:.92rem; margin:.4rem 0 .8rem; }.feature-group ul { list-style:none; padding:0;margin:0; }.feature-group li { display:flex; gap:.7rem; color:var(--shop-muted); font-size:.8rem; margin:.55rem 0; line-height:1.5; }.feature-group li span { color:#86b99d; }
.vehicle-spec-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 1.2rem; }.vehicle-spec-grid > div { display:flex; align-items:center; gap:.7rem; padding:1.3rem 0; border-bottom:1px solid var(--shop-line); }.vehicle-spec-grid dt { color:var(--shop-muted); font-size:.73rem; }.vehicle-spec-grid dd { margin:.35rem 0 0; font-size:.83rem; font-weight:600; line-height:1.5; }.vehicle-identifiers { display:flex; gap:1.5rem; color:var(--shop-muted); font-size:.68rem; margin:1.5rem 0; flex-wrap:wrap; }.vehicle-identifiers strong { font-weight:500; color:var(--shop-ink); }
.premium-detail .vehicle-description { padding:0; margin-top:1.5rem; }.vehicle-description summary { cursor:pointer; font-size:.85rem; color:var(--shop-gold); padding:.7rem 0; }.vehicle-description p { font-size:.85rem; line-height:1.8; white-space:pre-line; }
.vehicle-price-options { display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; }.vehicle-price-options > div { border:1px solid #ffffff15; border-radius:10px; padding:1.5rem; background:#15171b; }.vehicle-price-options h3 { font-size:1.1rem; margin:0 0 1.4rem; }.vehicle-price-options p { font-size:.85rem; color:var(--shop-muted); line-height:1.8; }.vehicle-price-options .button { width:100%; margin-top:1rem; font-size:.8rem; }.vehicle-price-options .shop-muted { font-size:.73rem; }
.premium-detail .shipping-estimator { grid-column:auto; max-width:none; border-top:0; }.premium-detail .shipping-estimator h2 { font-size:2.2rem; }.shipping-estimator input:not([type=checkbox]),.shipping-estimator select { border-radius:6px; border-color:#ffffff30; }
.review-empty { padding:1.8rem; margin:1.5rem 0; border-radius:10px; border:1px solid #ffffff16; background:#15171b; }.review-empty h3 { font-size:1.05rem; margin:1rem 0 .5rem; }.review-empty p { color:var(--shop-muted); font-size:.85rem; line-height:1.8; }.review-stars { color:var(--shop-gold); letter-spacing:.12em; font-size:1.1rem; display:block; }
.review-summary { display:grid; grid-template-columns:1fr 1.5fr; gap:2rem; align-items:center; padding:2rem; background:#15171b; border-radius:10px; margin:2rem 0; }.review-summary strong { display:block; font:700 3rem Manrope,sans-serif; }.review-summary p { font-size:.8rem; color:var(--shop-muted); }.rating-bars > div { display:grid; grid-template-columns:45px 1fr 20px; align-items:center; gap:.7rem; margin:.6rem 0; font-size:.75rem; }.rating-bars meter { width:100%; height:10px; }.rating-bars meter::-webkit-meter-bar { background:#ffffff15; border:0; }.rating-bars meter::-webkit-meter-optimum-value { background:var(--shop-gold); }
.review-search { display:block; font-size:.8rem; }.review-search input { width:100%; background:#14161a; color:white; border:1px solid #ffffff25; border-radius:7px; padding:.9rem 1rem; margin:.6rem 0 1.5rem; font:inherit; }.owner-review-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1.5rem; }.owner-review { padding:1.4rem; border:1px solid var(--shop-line); border-radius:8px; }.owner-review h3 { margin:.8rem 0 .3rem; font-size:.95rem; }.owner-review small { color:var(--shop-muted); font-size:.7rem; }.owner-review p { color:#c4c2bb; font-size:.85rem; line-height:1.8; white-space:pre-line; overflow-wrap:anywhere; }
.review-dialog { max-width:600px; }.review-dialog form > label { display:block; margin:1rem 0; font-size:.83rem; }.review-dialog input:not([type=checkbox]),.review-dialog select,.review-dialog textarea { display:block; width:100%; border:1px solid #ffffff30; background:#191b20; color:white; padding:.8rem; border-radius:6px; font:inherit; font-size:16px; margin-top:.5rem; }.review-dialog .review-attest { display:flex; gap:.75rem; line-height:1.6; align-items:start; }.review-attest input { margin-top:.2rem; accent-color:var(--shop-gold); width:18px; height:18px; flex:none; }
.gallery-dialog { width:100vw; max-width:100vw; height:100svh; max-height:100svh; background:#090a0c; color:white; padding:1rem 2rem; border:0; }.gallery-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; }.gallery-toolbar button,.gallery-stage button { color:white; background:#ffffff0a; border:1px solid #ffffff20; width:48px; height:48px; border-radius:50%; cursor:pointer; font-size:1.4rem; flex:none; }.gallery-stage { display:flex; align-items:center; justify-content:center; gap:1rem; height:calc(100svh - 130px); }.gallery-stage img { max-width:calc(100% - 130px); max-height:100%; object-fit:contain; }.gallery-dialog > p { text-align:center; font-size:.85rem; color:var(--shop-muted); }.vehicle-mobile-action { display:none; }
@keyframes shop-arrive { from { opacity:0;transform:translateY(14px); } to { opacity:1;transform:translateY(0); } }
@media (max-width:1150px) { .premium-detail { grid-template-columns:minmax(0,1fr) 320px; gap:1.4rem; }.premium-detail .vehicle-summary { padding:1.3rem; }.vehicle-highlight-grid { gap:.6rem; }.vehicle-highlight { padding:1rem; }.vehicle-spec-grid { grid-template-columns:1fr 1fr; }.vehicle-price-options { grid-template-columns:1fr; } }
@media (max-width:900px) { .premium-detail { grid-template-columns:1fr; }.premium-detail .vehicle-summary { position:static; grid-column:1; grid-row:auto; }.premium-detail .vehicle-gallery { grid-row:1; }.vehicle-content { grid-column:1; }.vehicle-sections { top:74px; }.vehicle-section { scroll-margin-top:150px; }.shop-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.fendy-invitation { gap:2rem; }.vehicle-mobile-action { display:flex; justify-content:space-between; align-items:center; gap:1rem; position:fixed; bottom:0; left:0; right:0; z-index:75; padding:.8rem 1rem calc(.8rem + env(safe-area-inset-bottom)); background:#15171bf5; border-top:1px solid #d2b46735; backdrop-filter:blur(12px); }.vehicle-mobile-action small { display:block; font-size:.62rem; color:var(--shop-muted); }.vehicle-mobile-action strong { display:block; font-size:1.2rem; margin-top:.2rem; }.vehicle-mobile-action .button { font-size:.76rem; padding:.8rem; }.vehicle-page { padding-bottom:6rem; }.compare-bar { bottom:92px; max-width:calc(100% - 95px); left:12px; gap:.8rem; padding:.5rem .75rem; font-size:.72rem; }.compare-bar button { font-size:.72rem; } }
@media (max-width:600px) { .shop-grid { grid-template-columns:1fr; }.shop-section-head { align-items:start; gap:1rem; }.shop-section-head a { font-size:.72rem; white-space:nowrap; }.shop-card .listing-body { padding:1.2rem; }.fendy-invitation { grid-template-columns:1fr; padding-block:3rem; }.vehicle-highlight-grid { display:flex; overflow:auto; scroll-snap-type:x mandatory; margin-inline:-24px; padding:0 24px 1rem; }.vehicle-highlight { min-width:76%; scroll-snap-align:center; padding:1.5rem; }.feature-group-grid { grid-template-columns:1fr; gap:0; }.vehicle-section { padding-block:2.5rem; }.vehicle-spec-grid { gap:0 .8rem; }.vehicle-spec-grid > div { align-items:start; gap:.55rem; }.spec-icon { width:34px; height:34px; }.spec-icon svg { width:19px; height:19px; }.vehicle-spec-grid dd { font-size:.78rem; }.vehicle-spec-grid dt { font-size:.68rem; }.owner-review-grid { grid-template-columns:1fr; }.review-summary { gap:1rem; padding:1.2rem; }.gallery-dialog { padding:1rem .6rem; }.gallery-toolbar strong { font-size:.85rem; }.gallery-stage { gap:.4rem; }.gallery-stage img { max-width:calc(100% - 80px); }.gallery-stage button { width:34px; height:40px; }.vehicle-sections a { padding:.65rem .7rem; }.shop-dialog .shop-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; }.shop-card,.shop-card img,.vehicle-gallery,.vehicle-summary,.shop-notice { animation:none !important; transition:none !important; } }
/* Fendy is available across shopping pages and stays out of the payment portal. */
.fendy-launcher { position:fixed; right:22px; bottom:22px; z-index:90; display:flex; align-items:center; gap:.65rem; padding:.95rem 1.2rem; background:var(--shop-gold); color:#101216; border:1px solid #e6ce92; border-radius:40px; box-shadow:0 6px 30px #0005; cursor:pointer; font:700 .84rem 'DM Sans',sans-serif; transition:transform .2s; }.fendy-launcher:hover { transform:translateY(-3px); }.fendy-launcher svg { width:24px; height:24px; }
.fendy-dialog { position:fixed; inset:auto 20px 20px auto; margin:0; width:410px; height:min(710px,calc(100svh - 40px)); max-height:calc(100svh - 40px); max-width:calc(100vw - 32px); border:1px solid #d2b46765; border-radius:16px; padding:0; background:#111318; color:var(--shop-ink); box-shadow:0 24px 100px #0008; overflow:hidden; }
.fendy-dialog[open] { display:flex; flex-direction:column; animation:shop-arrive .2s ease; }.fendy-dialog::backdrop { background:#0006; }
.fendy-header { display:flex; align-items:center; gap:.75rem; padding:1.1rem; border-bottom:1px solid var(--shop-line); background:#1a1c1e; flex:none; }.fendy-avatar { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:#d2b46719; color:var(--shop-gold); }.fendy-avatar svg { width:22px;height:22px; }.fendy-header h2 { margin:0; font:700 1.15rem Manrope,sans-serif; }.fendy-header p { color:var(--shop-muted); font-size:.66rem; margin:.25rem 0 0; }.fendy-close { margin-left:auto; color:#eee; background:none; border:0; width:34px; height:40px; font-size:1.7rem; cursor:pointer; }
.fendy-context { display:flex; align-items:center; gap:.75rem; padding:.7rem 1.1rem; background:#d2b46709; border-bottom:1px solid #d2b46715; flex:none; }.fendy-context img { width:52px; height:38px; object-fit:cover; border-radius:5px; }.fendy-context small { display:block; color:var(--shop-muted); font-size:.62rem; }.fendy-context strong { display:block; font-size:.75rem; margin-top:.2rem; }
.fendy-messages { min-height:0; flex:1; overflow:auto; padding:1.2rem; scroll-behavior:smooth; overscroll-behavior:contain; }.fendy-welcome { margin:1.3rem 0; }.fendy-welcome h3 { font:700 1.9rem Manrope,sans-serif; margin:.7rem 0; letter-spacing:-.04em; }.fendy-welcome p:not(.section-label) { color:var(--shop-muted); font-size:.88rem; line-height:1.8; }.fendy-welcome .section-label { font-size:.59rem; letter-spacing:.1em; }.fendy-starters { display:grid; gap:.6rem; margin:1.5rem 0; }.fendy-starters button { text-align:left; padding:.8rem 1rem; background:#d2b46709; border:1px solid #d2b46725; border-radius:8px; color:var(--shop-gold); font:500 .8rem 'DM Sans',sans-serif; cursor:pointer; }
.fendy-message { white-space:pre-wrap; overflow-wrap:anywhere; padding:.9rem 1rem; font-size:.83rem; line-height:1.75; margin-bottom:.85rem; border-radius:12px; background:#202227; }.fendy-message.user { margin-left:2.5rem; background:#d2b4671c; color:#eadbb5; border-bottom-right-radius:3px; }.fendy-message.assistant { margin-right:1rem; border-bottom-left-radius:3px; }.fendy-message.thinking { color:var(--shop-muted); }.fendy-retry { background:none; border:0; color:var(--shop-gold); padding:.6rem 0 0; cursor:pointer; }
.fendy-car-results a { display:flex; align-items:center; gap:.65rem; padding:.65rem; margin-bottom:.7rem; border:1px solid #ffffff17; border-radius:7px; color:var(--shop-ink); }.fendy-car-results img { width:68px; height:50px; object-fit:cover; border-radius:4px; }.fendy-car-results strong { display:block; font-size:.77rem; }.fendy-car-results small { display:block; font-size:.67rem; margin-top:.3rem; color:var(--shop-gold); }.fendy-car-results a>span:last-child { margin-left:auto; }
.fendy-tools { display:flex; justify-content:space-between; gap:.5rem; padding:.5rem 1.1rem; flex:none; }.fendy-tools button { background:none;border:0;color:var(--shop-gold);cursor:pointer;font:500 .7rem 'DM Sans',sans-serif;padding:.6rem 0; }.fendy-tools button:last-child { color:var(--shop-muted); }
.fendy-composer { display:flex; gap:.5rem; padding:.8rem; margin:0 1rem; border:1px solid #ffffff25; border-radius:10px; background:#191b20; flex:none; }.fendy-composer textarea { width:100%; resize:none; max-height:100px; padding:.3rem; background:none; border:0; color:white; font:400 16px/1.5 'DM Sans',sans-serif; }.fendy-composer button { align-self:end; width:38px;height:38px;flex:none;border:0;border-radius:7px;background:var(--shop-gold);color:#101216;font-size:1.4rem;cursor:pointer; }.fendy-composer button:disabled { opacity:.45;cursor:wait; }.fendy-footnote { padding:.7rem 1.2rem; color:#9b9b95; font-size:.59rem; line-height:1.6; margin:0; flex:none; }.fendy-footnote a { text-decoration:underline; color:#bcb8ad; }
.fendy-contact { overflow:auto; padding:1rem 1.2rem; border-top:1px solid var(--shop-line); flex:1; min-height:0; }.fendy-lead-form h3,.fendy-lead-success h3 { margin:0 0 .5rem;font:700 1.3rem Manrope,sans-serif; }.fendy-lead-form p,.fendy-lead-success p { color:var(--shop-muted); font-size:.78rem; line-height:1.65; }.fendy-lead-form label { display:block;font-size:.73rem;margin:.7rem 0; }.fendy-name-row { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }.fendy-lead-form input:not([type=checkbox]),.fendy-lead-form select { width:100%;display:block;padding:.6rem;background:#202227;border:1px solid #ffffff25;color:white;border-radius:5px;margin-top:.4rem;font-size:16px;min-width:0; }.fendy-lead-form .fendy-consent { display:flex;gap:.6rem;align-items:start;font-size:.64rem;line-height:1.65;color:var(--shop-muted); }.fendy-consent input { width:18px;height:18px;flex:none;accent-color:var(--shop-gold); }.fendy-consent a { text-decoration:underline; }.fendy-lead-form .button { width:100%;font-size:.8rem;padding:.8rem;cursor:pointer; }
@media (max-width:900px) { .vehicle-page ~ .fendy-launcher { bottom:95px; }.fendy-launcher { right:14px; }.vehicle-page ~ .fendy-launcher span { display:none; } }
@media (max-width:600px), (max-height:500px) { .fendy-dialog { inset:var(--fendy-top,8px) auto auto var(--fendy-left,8px); width:var(--fendy-width,calc(100vw - 16px)); max-width:none; height:var(--fendy-height,calc(100dvh - 16px)); max-height:var(--fendy-height,calc(100dvh - 16px)); border-radius:12px; }.fendy-launcher { padding:.85rem; }.fendy-launcher span { display:none; }.fendy-contact { min-height:0; }.fendy-header { padding:.85rem; } }
.review-source-link { display:block; margin-top:1rem; font-size:.75rem; color:var(--shop-gold); }
.owner-review-sources { border-top:1px solid var(--shop-line); padding:1.5rem 0; margin-top:1.5rem; }
.owner-review-sources h3 { font-size:1rem; margin:0 0 .5rem; }
.owner-review-sources p { font-size:.8rem; color:var(--shop-muted); }
.owner-review-sources a { display:inline-block; color:var(--shop-gold); margin:.5rem 1.5rem .5rem 0; font-size:.85rem; }

.fendy-dialog { box-sizing:border-box; overscroll-behavior:contain; }
.fendy-dialog [hidden] { display:none !important; }
.fendy-contact { overscroll-behavior:contain; }
.fendy-lead-cta { margin-top:.8rem; padding:.65rem .8rem; background:var(--shop-gold); color:#101216; border:0; border-radius:7px; font:600 .8rem "DM Sans",sans-serif; cursor:pointer; }
.purchase-dialog { position:fixed; inset:8px 0 auto; width:min(620px,calc(100vw - 16px)); max-width:calc(100vw - 16px); max-height:calc(100dvh - 16px); margin:0 auto; padding:1.5rem; border:1px solid #d2b46765; border-radius:14px; background:#111318; color:var(--shop-ink); overflow:auto; overscroll-behavior:contain; box-sizing:border-box; }
.purchase-dialog::backdrop { background:#0009; }
.purchase-head { display:flex; justify-content:space-between; align-items:start; gap:1rem; }
.purchase-head h2 { margin:.4rem 0; font:700 clamp(1.5rem,5vw,2rem) Manrope,sans-serif; letter-spacing:-.03em; }
.purchase-head button { flex:none; border:0; background:none; color:inherit; font-size:2rem; cursor:pointer; }
.purchase-intro,.purchase-notes { font-size:.85rem; line-height:1.65; color:var(--shop-muted); }
.purchase-fields { display:grid; grid-template-columns:1fr 1.5fr; gap:1rem; margin:1.2rem 0; }
.purchase-fields label { font-size:.8rem; }
.purchase-fields label span { color:var(--shop-muted); }
.purchase-fields input { width:100%; padding:.8rem; margin-top:.5rem; border:1px solid #ffffff25; border-radius:7px; background:#202227; color:white; font-size:16px; }
.purchase-dialog .button { cursor:pointer; font-size:.85rem; }
.purchase-status { color:var(--shop-gold); font-size:.8rem; }
.purchase-preview dl { margin:1rem 0; }
.purchase-preview dl>div { display:flex; justify-content:space-between; gap:1rem; padding:.75rem 0; border-bottom:1px solid var(--shop-line); font-size:.85rem; }
.purchase-preview dd { margin:0; text-align:right; }
.purchase-preview dl>div:last-child { font-weight:700; color:var(--shop-gold); font-size:1rem; }
.purchase-preview[hidden] { display:none; }
@media(max-width:600px) { .purchase-dialog { padding:1.1rem; }.purchase-fields { grid-template-columns:1fr; } }

.purchase-consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.85rem;color:var(--muted);margin:1rem 0;line-height:1.5}.purchase-consent input{flex:none;margin-top:.3rem}
