/* ==========================================================
   Results presentation — emerald, horological proportions.
   Measured type, hairline rules, a single chronometric rhythm.
   ========================================================== */
:root{--r-gap:clamp(14px,2.2vw,24px);--r-pad:clamp(16px,2.4vw,26px);--r-hair:#e1e7e0;--r-num:'DM Sans',Arial,sans-serif;--r-gold:#a8915a}

/* Shared estimate explanation */
.results-notes{margin:12px 0 16px;font-size:12.5px;line-height:1.65;color:#4f6255;max-width:68ch}
.results-notes p{margin:0}.results-notes p+p{margin-top:6px}
.results-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;margin:0 0 18px}
.results-tools .refine-conversation{display:inline-flex;align-items:center;gap:9px;margin:0;font-size:12.5px;color:#254f3a}
.results-tools .advisor-orb.small{margin:0;width:26px;height:26px;flex-basis:26px}
.estimate-about{font-size:12px;color:var(--muted);max-width:100%}
.estimate-about summary,.source-coverage summary{cursor:pointer;color:var(--green);font-size:12.5px;min-height:32px;display:flex;align-items:center}
.estimate-about .detail-note{max-width:520px}

/* Card shell */
.offer{border:1px solid #d6ded6;border-radius:14px;background:#fff;box-shadow:0 1px 0 #fff inset,0 6px 22px #0d3a2508;transition:border-color .2s,box-shadow .2s}
.offer:hover{border-color:#bfcdc1}
.offer.open{border-color:#a9c0b0;box-shadow:0 14px 40px #0d3a2512}
.offer-toggle,.offer.open .offer-toggle{display:grid;grid-template-columns:112px minmax(0,1fr) minmax(0,auto) 20px;grid-template-areas:"photo id price chev";align-items:center;gap:var(--r-gap);padding:var(--r-pad);cursor:pointer;width:100%;text-align:left}
.offer.open .offer-toggle{align-items:start;padding-bottom:18px}
.offer-toggle>.chevron,.offer.open .offer-toggle>.chevron{display:block;grid-area:chev;width:18px;height:18px;color:var(--green);align-self:center;transition:transform .25s ease}
.offer.open .offer-toggle>.chevron{transform:rotate(180deg);align-self:start;margin-top:6px}
.offer-toggle:focus-visible{outline:2px solid var(--green);outline-offset:-3px;border-radius:14px}

.offer-photo{grid-area:photo;display:flex;align-items:center;justify-content:center;width:112px;height:84px;overflow:hidden;border-radius:9px;background:#e9eee8;position:relative;box-shadow:0 0 0 1px #0d3a250d inset}
.offer-photo img{display:block;width:100%;height:100%;object-fit:cover}
.photo-unavailable{font-size:10px;line-height:1.4;text-align:center;color:#637267;padding:8px;letter-spacing:.04em}
.photo-unavailable[hidden]{display:none}

.offer-identity{grid-area:id;min-width:0}
.offer h2,.offer.open h2{font-size:21px;line-height:1.25;margin:0 0 6px;max-width:none;overflow-wrap:anywhere;letter-spacing:-.03em}
.offer.open h2{font-size:24px}
.source-title{margin:0 0 6px;font-size:12px;line-height:1.45;color:#728177;font-style:italic;overflow-wrap:anywhere}
.offer-facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 0;font-size:12.5px;color:#5d6c61;line-height:1.5}
.offer-facts li{overflow-wrap:anywhere}
.offer-facts li+li:before{content:'·';margin:0 7px;color:#a3b0a6}
.offer-facts .offer-source{color:#2f5a40;font-weight:500}
.offer-risk{color:#81542b;font-size:12px;line-height:1.5;max-width:46ch;margin:8px 0 0;padding-left:9px;border-left:2px solid #bb9568}
.offer-risk-flag{display:inline-block;margin:8px 0 0;font-size:11.5px;color:#81542b;border-left:2px solid #bb9568;padding-left:7px}
.preview-offer-identity{display:flex;align-items:flex-start;gap:12px;min-width:0}
.preview-offer-identity>div{min-width:0}

/* Price — measured, tabular, wraps only between whole tokens */
.price-group{grid-area:price;min-width:0;max-width:260px;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.price-group .inline-status{display:none}
.price-kicker{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--r-gold);font-weight:600;line-height:1.4}
.price-kicker:empty{display:none}
.offer-amount,.big-price{font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.15;letter-spacing:-.025em;font-variant-numeric:tabular-nums lining-nums;color:#15372a;white-space:normal;overflow-wrap:normal;word-break:keep-all;text-wrap:balance;margin:0}
.results-header{display:flex;align-items:flex-start;gap:8px;margin:8px 0 16px}
.results-query-details{flex:1;min-width:0;border:1px solid var(--line,#dce2da);border-radius:12px;background:#fff}
.results-query-details summary{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 14px;cursor:pointer;list-style:none}
.results-query-details summary::-webkit-details-marker{display:none}
.results-query-details summary>svg{width:16px;height:16px;flex-shrink:0;color:var(--muted);transition:transform .15s}
.results-query-details[open] summary>svg{transform:rotate(180deg)}
.results-query{flex:1;min-width:0;font-size:14px;line-height:1.5;color:var(--ink);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.results-query-full{margin:0;padding:0 14px 14px;font-size:12.5px;line-height:1.65;color:var(--muted);overflow-wrap:anywhere}
.results-header .results-new-search{display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-height:44px}
.results-new-search svg{width:18px;height:18px}
.breakdown>h3{font:500 13px var(--sans);letter-spacing:0;margin:0 0 8px}
.amount-token{display:inline-block;white-space:nowrap}
@media(max-width:760px){.results-header .results-new-search{width:44px;height:44px;padding:0;border-radius:12px}.results-new-search span{display:none}.price-group{max-width:100%}}
.offer.open .big-price{font-size:28px}
.offer-amount sup,.big-price sup{font-family:var(--sans);font-size:11px;color:var(--r-gold);margin-left:1px}
.big-price.incomplete-price,.offer-amount.incomplete-price{font-family:var(--sans);font-size:16px;font-weight:500;letter-spacing:0;color:#5f6b62}
.vehicle-only{margin:2px 0 0;font-size:12px;color:#69776c;line-height:1.4}
.vehicle-only span{letter-spacing:.02em}
.vehicle-only strong{font-weight:500;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}

/* Expanded body */
.offer .breakdown{margin:0 var(--r-pad);padding:16px 0 4px;border-top:1px solid var(--r-hair);font-size:13px}
.cost-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px 20px;padding:8px 0;color:#56675a;border-bottom:1px dotted #e3e8e2;flex-wrap:wrap}
.cost-row>span:first-child{flex:1 1 140px;min-width:0}
.cost-row>span:last-child{flex:0 1 auto;margin-left:auto;text-align:right;font-variant-numeric:tabular-nums;color:var(--ink);overflow-wrap:normal;word-break:keep-all}
.cost-row.total{border-top:1px solid #b9c8bc;border-bottom:0;margin-top:6px;padding-top:12px;color:var(--ink);font-weight:600}
.cost-row.total>span:last-child{font-family:var(--serif);font-weight:500;font-size:17px;color:#15372a}
.offer .detail-note,.offer-reserves{display:block;font-size:12px;color:#647268;line-height:1.6;margin:10px 0 0}
.offer-reserves{padding:10px 12px;background:#f3f6f1;border-radius:8px;border-left:2px solid var(--r-gold)}
.offer-reserves ul{margin:4px 0 0;padding-left:16px}

.offer-calculations{margin:14px var(--r-pad) 0;border-top:1px solid var(--r-hair)}
.offer-calculations>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;cursor:pointer;color:var(--green);font-size:13px}
.offer-calculations>summary::-webkit-details-marker{display:none}
.offer-calculations>summary:after{content:'';width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s;flex:0 0 auto}
.offer-calculations[open]>summary:after{transform:rotate(-135deg)}
.offer-calculations>summary:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.offer-calculations .comps{padding:8px 0 14px}

.offer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:14px var(--r-pad) 0;padding:14px 0 var(--r-pad);border-top:1px solid var(--r-hair)}
.offer-actions .source-link,.offer-actions [data-share]{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:1px solid #cdd8ce;border-radius:999px;font-size:12.5px;color:#254f3a;text-decoration:none;background:#fff;white-space:nowrap;transition:border-color .2s,background .2s}
.offer-actions .source-link:hover,.offer-actions [data-share]:hover{border-color:var(--green);background:#f1f6f2}
.offer-actions .offer-cta,.offer-cta{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:40px;margin-left:auto;padding:0 20px;border-radius:999px;background:var(--green);color:#fff;font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.01em;white-space:nowrap}
.offer-cta:hover{background:#007548}
.source-link{display:inline-flex;align-items:center;gap:5px}
.source-link svg{width:13px;height:13px}

/* Portugal carousel */
.portugal-heading{align-items:center}
.portugal-hint{display:block;margin:-4px 0 12px;font-size:11.5px;color:#6d7b71;letter-spacing:.02em}
.portugal-car .offer-photo{width:100%;height:120px;margin-bottom:6px}
.portugal-car strong{font-family:var(--serif);font-weight:500;font-variant-numeric:tabular-nums}
.portugal-nav .icon{border:1px solid #cdd8ce;color:var(--green)}
.mobile-comparison{margin:0 0 18px;border:1px solid #d7ddd7;border-radius:12px;background:#fff}
.mobile-comparison>summary{padding:14px 16px;cursor:pointer;font-size:13px;color:var(--green);min-height:48px;display:flex;align-items:center}
.mobile-comparison .portugal-section{margin:0;padding:14px;border:0}

/* Contact summary */
.car-summary>div{min-width:0;max-width:100%}
.car-summary h2{overflow-wrap:anywhere}
.car-summary .price-group{align-items:flex-end}

/* Non-result shell (unchanged behaviour) */
.sidebar-head{display:flex;align-items:center;justify-content:space-between}
.sidebar-close{display:none;color:#d9e7dc;font-size:26px;line-height:1}
.sidebar-backdrop{display:none}
.hero{background-image:none;background-color:#496276}
.hero-scenes::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#052a24aa,#0b2b245c 44%,#0b211800 72%);pointer-events:none}

/* Tablet */
@media(max-width:1100px){
 .offer-toggle,.offer.open .offer-toggle{grid-template-columns:96px minmax(0,1fr) 20px;grid-template-areas:"photo id chev" "price price price";row-gap:14px}
 .offer-photo{width:96px;height:74px}
 .price-group{max-width:none;flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:space-between;text-align:left;gap:2px 16px;border-top:1px solid var(--r-hair);padding-top:12px}
 .price-kicker{flex:1 0 100%}
 .vehicle-only{margin:0}
 .car-summary .price-group{border-top:0;padding-top:0}
}

/* Mobile */
@media(max-width:760px){
 :root{--r-pad:16px;--r-gap:12px}
 .hero-scene{object-position:center bottom}
 body{font-size:15px}
 .sidebar{width:min(300px,84vw);z-index:40;overflow-y:auto}
 .sidebar.shown{display:flex}
 .sidebar-close{display:inline-flex;width:40px;height:40px}
 .sidebar-backdrop:not([hidden]){display:block;position:fixed;inset:0;background:#0c110e80;z-index:30}
 body.menu-open{overflow:hidden}
 .main{padding:14px 14px 32px;overflow-x:hidden}
 .mobile-top{margin-bottom:14px}
 .mobile-top .icon{width:44px;height:44px}
 .search-strip{padding:5px 6px 5px 12px;border-radius:12px}
 .search-strip input{font-size:16px;height:40px}
 .search-strip .icon{width:40px;height:40px}
 .page-heading{margin:20px 0 12px;align-items:baseline;flex-wrap:wrap;gap:4px 12px}
 .page-heading h1{font-size:25px}
 .mode-label{font-size:11.5px}
 .source-tabs{flex-wrap:nowrap;overflow-x:auto;margin:12px -14px 16px;padding:0 14px 4px;scrollbar-width:none}
 .source-tabs::-webkit-scrollbar{display:none}
 .source-tabs button{flex:0 0 auto;min-height:38px;font-size:13px}

 .portugal-section{margin:16px 0 22px;padding:16px 0}
 .portugal-heading h2{font-size:21px}
 .portugal-heading>span{font-size:12px}
 .portugal-nav .icon{width:40px;height:40px}
 .portugal-car{flex-basis:80%;padding:14px}
 .portugal-car strong{font-size:20px}
 .portugal-name{font-size:13.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

 .offer{margin-bottom:12px}
 .offer-toggle,.offer.open .offer-toggle{grid-template-columns:84px minmax(0,1fr) 20px;align-items:start}
 .offer-photo{width:84px;height:66px;border-radius:8px}
 .offer-toggle>.chevron{align-self:start;margin-top:4px}
 .offer h2{font-size:18px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .offer.open h2{font-size:20px;display:block}
 .offer-amount{font-size:22px}
 .offer.open .big-price{font-size:25px}
 .offer .breakdown{font-size:13px}
 .offer-actions{gap:8px}
 .offer-actions .offer-cta{flex:1 0 100%;margin-left:0;min-height:46px}
 .offer-actions .source-link,.offer-actions [data-share]{flex:1 1 0;justify-content:center;min-height:44px}
 .more-offers{margin:18px 0;min-height:48px;font-size:14px}
 .source-coverage{font-size:12.5px;overflow-wrap:anywhere}
 .footnote{font-size:11px;text-align:left}

 .contact .back{min-height:44px;margin:0 0 14px}
 .contact h1{font-size:27px;line-height:1.2}
 .contact .intro{font-size:15px;margin-bottom:18px}
 .car-summary{gap:10px;margin-bottom:24px}
 .car-summary .price-group{width:100%;align-items:flex-start}
 .car-summary .big-price{font-size:26px}
 .contact h3{font-size:22px}
 .channel{font-size:13px;min-height:64px}
 .field label{font-size:13px}
 .field input{font-size:16px}
 .email-optional{min-height:40px;font-size:13px}
 .service summary small{font-size:11px}
 .service p{font-size:13px}
 .contact-note{font-size:12px}
 .privacy-note{font-size:11.5px}

 .conversation{min-height:calc(100dvh - 90px)}
 .conversation-heading{gap:12px;margin-bottom:24px;align-items:flex-start}
 .conversation-heading h1{font-size:24px}
 .conversation-heading p{font-size:14px}
 .advisor-contact{font-size:13px}
 .chat-thread{gap:14px}
 .chat-bubble{max-width:88%;font-size:15px}
 .chat-launch{flex-wrap:wrap}
 .chat-launch>span{max-width:none;flex:1 1 160px;font-size:12.5px}
 .chat-composer{padding:8px 8px 8px 12px}
 .chat-composer textarea{font-size:16px}
 .chat-composer .icon{width:40px;height:40px}
 .chat-dock{padding:14px 0 12px}
 .history-page .page-heading{flex-wrap:nowrap}
 .saved-search{position:relative}

 .hero h1{line-height:1.15;margin-bottom:14px}
 .hero-guidance{font-size:15px;line-height:1.5}
 .hero-header{padding:20px 18px}
 .hero .composer textarea{font-size:16px}
}
@media(max-width:400px){
 :root{--r-pad:14px}
 .main{padding:12px 12px 28px}
 .offer-toggle,.offer.open .offer-toggle{grid-template-columns:72px minmax(0,1fr) 18px}
 .offer-photo{width:72px;height:56px}
 .offer h2{font-size:17px}
 .offer-amount{font-size:20px}
 .offer.open .big-price{font-size:22px}
 .page-heading h1{font-size:23px}
 .hero h1{font-size:29px}
}
@media(prefers-reduced-motion:reduce){.offer-toggle>.chevron,.offer-calculations>summary:after{transition:none}}
