:root {
  --ink: #0b0b0c;
  --muted: #606266;
  --paper: #f4f4f4;
  --white: #ffffff;
  --accent: #e2242f;
  --line: #dedede;
  --dark: #09090a;
}

.topbar { background: rgba(255, 255, 255, .96); }
.brand img { display: block; width: 260px; height: 68px; object-fit: contain; object-position: left center; }
.brand-mark { background: #0b0b0c; color: #e2242f; }
.button { color: #ffffff; }
.button-ghost { background: transparent; color: #ffffff; }
.hero .eyebrow { color: #ff626a; }
.hero-visual { background: radial-gradient(circle at 50% 48%, #4b161a 0, #1d0d0f 40%, #09090a 72%); }
.hero-car { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 1; transition: opacity .3s ease; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, #09090a55, transparent 60%), linear-gradient(0deg, #09090a88, transparent 45%); }
.hero-badge, .vehicle-tag { color: #ffffff; }
.vehicle-image { overflow: hidden; }
.vehicle-image::before { display: none; }
.vehicle-image > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.vehicle:hover .vehicle-image > img { transform: scale(1.035); }
.vehicle-cta { justify-content: flex-start; gap: 9px; border: 0; border-radius: 12px; padding: 13px 14px; background: #25d366; color: #07170d; font-weight: 800; transition: .2s; }
.vehicle-cta:hover { background: #1fbd5a; transform: translateY(-1px); box-shadow: 0 8px 20px #25d36635; }
.vehicle-cta span:last-child { margin-left: auto; }
.whatsapp-icon { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: #ffffff; color: #159447; font-size: 17px; }
.sold-section { background: #0b0b0c; color: #ffffff; }
.sold-section .eyebrow { color: #ff626a; }
.sold-intro { max-width: 360px; margin: 0; color: #a8aaad; line-height: 1.6; }
.sold-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.sold-card { position: relative; min-height: 300px; overflow: hidden; border-radius: 18px; background: #222; }
.sold-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.7); transition: .3s; }
.sold-card:hover img { transform: scale(1.03); filter: saturate(1); }
.sold-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 22px; background: linear-gradient(0deg, #000000e8 0, #00000010 70%); }
.sold-overlay span { width: max-content; padding: 6px 9px; border-radius: 999px; background: #e2242f; color: #fff; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.sold-overlay h3 { margin: 10px 0 2px; font-size: 19px; }
.sold-overlay p { margin: 0; color: #c3c3c3; font-size: 13px; }
.filter.active { background: #e2242f; }
.quote-form input:focus, .quote-form textarea:focus { border-color: #e2242f; box-shadow: 0 0 0 3px #e2242f24; }
.benefit-grid span { color: #e2242f; }

.whatsapp-float {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 20;
  padding: 14px 20px;
  border-radius: 999px;
  background: #e2242f;
  color: #ffffff;
  font-size: 14px;
  font-weight: 800;
  box-shadow: 0 12px 34px #00000040;
  transition: .2s;
}

.whatsapp-float:hover { transform: translateY(-2px); background: #bd121c; }

@media (max-width: 600px) {
  .brand img { width: 175px; height: 50px; }
  .hero { min-height: auto; }
  .hero-copy { min-height: calc(100svh - 68px); }
  .hero-visual { min-height: 430px; }
  .hero-badge { left: 20px; right: 20px; bottom: 20px; max-width: none; }
  .section-heading h2 { font-size: 2.25rem; }
  .filters { width: 100%; overflow-x: auto; }
  .filter { flex: 1; min-width: max-content; }
  .vehicle-image { height: 260px; }
  .whatsapp-float { right: 14px; bottom: 14px; padding: 12px 16px; }
}

@media (min-width: 601px) and (max-width: 1024px) {
  .topbar { padding-inline: 4vw; }
  .brand img { width: 220px; height: 60px; }
  .hero { grid-template-columns: 1fr; }
  .hero-copy { min-height: 640px; }
  .hero-visual { min-height: 520px; }
  .stock-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quote-section { grid-template-columns: 1fr; gap: 40px; }
  .benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sold-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .sold-grid { grid-template-columns: 1fr; }
  .sold-card { min-height: 360px; }
}

.catalog-tools { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 12px; margin: -18px 0 28px; padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.catalog-tools label, .finance-card label { display: grid; gap: 7px; color: #555; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.catalog-tools input, .catalog-tools select, .finance-card input, .finance-card select { width: 100%; border: 1px solid #d6d6d6; border-radius: 11px; padding: 12px; background: #fafafa; color: #111; font: inherit; }
.empty-state { padding: 40px; border-radius: 16px; background: #fff; color: #666; text-align: center; }
.details-button { width: 100%; margin-bottom: 9px; border: 1px solid #d8d8d8; border-radius: 11px; padding: 11px; background: #fff; color: #222; font-weight: 800; cursor: pointer; }
.details-button:hover { border-color: var(--accent); color: var(--accent); }
.vehicle-dialog { width: min(940px, calc(100% - 28px)); max-height: 88vh; padding: 0; border: 0; border-radius: 22px; background: #fff; box-shadow: 0 30px 90px #0008; }
.vehicle-dialog::backdrop { background: #000b; backdrop-filter: blur(4px); }
.dialog-close { position: absolute; z-index: 2; top: 14px; right: 14px; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #111; color: #fff; font-size: 25px; cursor: pointer; }
.dialog-grid { display: grid; grid-template-columns: 1.2fr 1fr; min-height: 520px; }
.dialog-grid > img { width: 100%; height: 100%; object-fit: cover; }
.dialog-grid > div { padding: 48px 38px; }
.dialog-grid h2 { margin: 8px 0 25px; font-size: 34px; }
.dialog-specs { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.dialog-specs span { padding: 12px; border-radius: 10px; background: #f2f2f2; font-weight: 800; }
.dialog-specs small { display: block; margin-bottom: 4px; color: #777; font-size: 10px; text-transform: uppercase; }
.dialog-price { margin: 24px 0 14px; color: var(--accent); font-size: 26px; font-weight: 800; }
.finance-section { background: #f0f0f0; }
.finance-card { display: grid; grid-template-columns: repeat(3,1fr) 1.3fr; gap: 14px; align-items: end; padding: 28px; border-radius: 20px; background: #fff; box-shadow: 0 18px 50px #0000000d; }
.finance-result { display: grid; gap: 3px; padding: 12px 18px; border-left: 3px solid var(--accent); }
.finance-result span, .finance-result small { color: #666; font-size: 11px; }
.finance-result strong { font-size: 24px; }
.finance-card .button { grid-column: 4; text-align: center; }
.finance-quote-card { grid-template-columns: 1.25fr 1fr 1fr; align-items: stretch; }
.currency-switch { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 5px; border-radius: 14px; background: #ededed; }
.currency-option { border: 0; border-radius: 10px; padding: 12px; background: transparent; color: #555; font-weight: 800; cursor: pointer; }
.currency-option.active { background: #0b0b0c; color: #fff; box-shadow: 0 5px 15px #0002; }
.finance-quote-card .finance-result { grid-column: 1 / 3; }
.finance-quote-card .button { grid-column: 3; display: grid; place-items: center; }
.credit-options { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 16px; }
.credit-options article { padding: 20px; border: 1px solid #ddd; border-radius: 15px; background: #fff; }
.credit-options strong { color: var(--accent); }
.credit-options p { margin-bottom: 0; color: #666; font-size: 13px; line-height: 1.55; }
.finance-recommendations { margin-top: 16px; padding: 22px; border-radius: 18px; background: #0b0b0c; color: #fff; }
.recommendation-heading { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.recommendation-heading span { color: #999; font-size: 13px; }
.recommendation-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.recommendation-grid button { display: grid; gap: 5px; padding: 18px; border: 1px solid #333; border-radius: 14px; background: #171718; color: #fff; text-align: left; cursor: pointer; transition: .2s; }
.recommendation-grid button:hover { border-color: var(--accent); transform: translateY(-2px); }
.recommendation-grid span { width: max-content; padding: 4px 7px; border-radius: 999px; background: var(--accent); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.recommendation-grid strong { margin-top: 4px; font-size: 18px; }
.recommendation-grid b { color: #ff7078; font-size: 15px; }
.recommendation-grid small { color: #999; }
.no-recommendation { margin: 0; color: #aaa; }
.experience-section { background: #0b0b0c; color: #fff; }
.experience-section .eyebrow { color: #ff626a; }
.experience-grid, .location-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.experience-grid article { padding: 28px; border: 1px solid #333; border-radius: 18px; background: #151516; }
.experience-grid strong { font-size: 20px; }
.experience-grid p { color: #aaa; line-height: 1.6; }
.review-cta { display: inline-block; margin-top: 22px; color: #fff; font-weight: 800; text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 5px; }
.location-grid article { padding: 28px; border-radius: 18px; background: #fff; box-shadow: 0 12px 34px #0000000c; }
.location-grid article > span { color: var(--accent); font-weight: 800; }
.location-grid a { color: var(--accent); font-weight: 800; }
footer { flex-wrap: wrap; gap: 20px; align-items: flex-start; }
.footer-contact { max-width: 52ch; line-height: 1.6; }
.photo-upload { position: relative; display: grid; gap: 7px; margin-top: 16px; }
.photo-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.photo-upload > span { width: max-content; padding: 11px 16px; border: 1px dashed #bbb; border-radius: 10px; background: #fafafa; color: #222; font-weight: 800; cursor: pointer; }
.photo-upload small { color: #777; }
.photo-preview { position: relative; width: 180px; margin-top: 12px; }
.photo-preview img { width: 180px; height: 120px; border-radius: 12px; object-fit: cover; }
.photo-preview button { position: absolute; right: 6px; bottom: 6px; border: 0; border-radius: 8px; padding: 6px 9px; background: #111; color: #fff; }
.assistant-launcher { position: fixed; right: 22px; bottom: 82px; z-index: 31; display: flex; align-items: center; gap: 9px; border: 0; border-radius: 999px; padding: 10px 16px 10px 9px; background: #fff; color: #111; font-weight: 800; box-shadow: 0 12px 34px #0004; cursor: pointer; }
.assistant-launcher span, .assistant-avatar { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--accent); color: #fff; font-weight: 900; }
.assistant-panel { position: fixed; right: 22px; bottom: 138px; z-index: 32; width: min(360px, calc(100vw - 28px)); overflow: hidden; border: 1px solid #ddd; border-radius: 20px; background: #fff; box-shadow: 0 22px 70px #0006; }
.assistant-head { display: flex; align-items: center; gap: 10px; padding: 16px; background: #0b0b0c; color: #fff; }
.assistant-head div:nth-child(2) { display: grid; flex: 1; }
.assistant-head small { color: #aaa; }
.assistant-head button { border: 0; background: transparent; color: #fff; font-size: 24px; }
.assistant-messages { min-height: 100px; padding: 18px; background: #f3f3f3; }
.bot-message { max-width: 86%; margin: 0 0 8px; padding: 11px 13px; border-radius: 4px 14px 14px; background: #fff; line-height: 1.45; box-shadow: 0 4px 14px #0001; }
.assistant-options { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 14px; }
.assistant-options button { border: 1px solid #ddd; border-radius: 10px; padding: 10px; background: #fff; font-weight: 700; cursor: pointer; }
.assistant-options button:hover { border-color: var(--accent); color: var(--accent); }
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .55s ease, transform .55s ease; }
.reveal.visible { opacity: 1; transform: none; }
.admin-link { border: 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
.admin-dialog { width: min(920px, calc(100% - 28px)); max-height: 88vh; padding: 0; border: 0; border-radius: 22px; background: #f4f4f4; box-shadow: 0 30px 90px #0008; }
.admin-dialog::backdrop { background: #000b; backdrop-filter: blur(4px); }
.admin-shell { padding: 42px; }
.admin-shell h2 { margin: 6px 0 26px; font-size: 34px; }
.admin-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.admin-stats article { display: grid; gap: 8px; padding: 20px; border-radius: 15px; background: #fff; }
.admin-stats span { color: #666; font-size: 12px; }
.admin-stats strong { color: var(--accent); font-size: 30px; }
.admin-actions { display: flex; gap: 10px; margin: 22px 0 30px; }
.admin-actions .details-button { width: auto; margin: 0; }
.lead-list { display: grid; gap: 8px; }
.lead-list article { display: flex; justify-content: space-between; gap: 16px; padding: 13px 16px; border-radius: 11px; background: #fff; }
.lead-list span { color: #777; font-size: 12px; }
.admin-note { margin-top: 22px; color: #777; font-size: 12px; line-height: 1.5; }

@media (max-width: 1024px) {
  .catalog-tools { grid-template-columns: 1fr 1fr; }
  .search-box { grid-column: 1 / -1; }
  .finance-card { grid-template-columns: 1fr 1fr; }
  .finance-card .button { grid-column: auto; }
  .finance-quote-card { grid-template-columns: 1fr 1fr; }
  .finance-quote-card .finance-result { grid-column: 1 / -1; }
  .finance-quote-card .button { grid-column: 1 / -1; }
  .credit-options { grid-template-columns: 1fr 1fr; }
  .experience-grid, .location-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .catalog-tools, .finance-card { grid-template-columns: 1fr; }
  .search-box, .finance-card .button { grid-column: auto; }
  .finance-quote-card .currency-switch, .finance-quote-card .finance-result, .finance-quote-card .button { grid-column: auto; }
  .credit-options { grid-template-columns: 1fr; }
  .recommendation-heading { display: grid; }
  .recommendation-grid { grid-template-columns: 1fr; }
  .dialog-grid { grid-template-columns: 1fr; }
  .dialog-grid > img { height: 270px; }
  .dialog-grid > div { padding: 28px 20px; }
  .dialog-specs { grid-template-columns: 1fr; }
  .assistant-launcher { right: 14px; bottom: 74px; }
  .assistant-panel { right: 14px; bottom: 128px; }
  .admin-shell { padding: 30px 18px; }
  .admin-stats { grid-template-columns: 1fr 1fr; }
  .admin-actions { display: grid; }
  .lead-list article { display: grid; }
}
.dialog-media{position:relative}.dialog-media img{width:100%;height:100%;min-height:390px;object-fit:cover;border-radius:18px}.dialog-media>span{position:absolute;left:18px;bottom:18px;background:#e2242f;color:#fff;padding:8px 12px;border-radius:999px;font-weight:800}.equipment-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;list-style:none;padding:0;margin:14px 0}.equipment-list li{background:#f4f4f5;border-radius:10px;padding:11px 12px;font-weight:700;color:#242428}.detail-note{color:#6d6d74}.admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.popular-list{display:grid;gap:8px}.popular-list article{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:12px;border-radius:12px;background:#f5f5f6}.popular-list article>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#161619;color:#fff;font-weight:800}.popular-list b{color:#e2242f;font-size:.83rem}@media(max-width:760px){.equipment-list,.admin-columns{grid-template-columns:1fr}.dialog-media img{min-height:250px}}
