/* Main Street — general theme: warm, friendly and rounded; works for any inventory. */
.theme-general { --radius: 18px; --radius-sm: 10px; }
.theme-general h1, .theme-general h2 { font-weight: 700; }
.theme-general .site-header { border-bottom: 1px solid var(--c-border); box-shadow: none; }
.theme-general .utility-bar { background: var(--c-primary); color: var(--c-primary-text); border: 0; }
.theme-general .nav-item > a:hover { color: var(--c-link); }
.theme-general .btn { border-radius: 12px; }

/* Rounded inset hero card */
.theme-general .hero { background: transparent; color: #fff; padding: clamp(12px, 2vw, 24px) var(--gap) 0; overflow: visible; }
.theme-general .hero > .hero-inner, .theme-general .hero > .hero-overlay, .theme-general .hero > .hero-bg { border-radius: var(--radius); }
.theme-general .hero-inner { max-width: var(--container); background: linear-gradient(135deg, var(--c-primary), color-mix(in srgb, var(--c-primary) 55%, #000)); padding-inline: clamp(20px, 5vw, 64px); position: relative; overflow: hidden; }
.theme-general .hero.has-image .hero-inner { background: none; }
.theme-general .hero:not(.has-image) .hero-inner::after { content: ""; position: absolute; right: -80px; bottom: -80px; width: 320px; height: 320px; border-radius: 50%; background: color-mix(in srgb, var(--c-accent) 55%, transparent); z-index: 0; }
.theme-general .hero-copy, .theme-general .quick-search { position: relative; z-index: 1; }
.theme-general .hero.has-image .hero-bg, .theme-general .hero.has-image .hero-overlay { inset: clamp(12px, 2vw, 24px) var(--gap) 0; width: auto; height: auto; }

.theme-general .section-title::after { content: ""; display: block; width: 48px; height: 4px; border-radius: 4px; background: var(--c-accent); margin-top: 10px; }
.theme-general .section-head .section-title::after { margin-bottom: 0; }
.theme-general .vehicle-card { background: #fff; border: 1px solid var(--c-border); box-shadow: none; }
.theme-general .vehicle-card:hover { box-shadow: var(--shadow); }
.theme-general .badge { border-radius: 99px; }
.theme-general .badge-sale { background: var(--c-accent); color: var(--c-accent-text); }
.theme-general .tile a { background: linear-gradient(150deg, var(--c-accent), color-mix(in srgb, var(--c-accent) 50%, #000)); }
.theme-general .tile:nth-child(even) a { background: linear-gradient(150deg, var(--c-primary), color-mix(in srgb, var(--c-primary) 50%, #000)); }
.theme-general .cta-panel-inner { background: color-mix(in srgb, var(--c-accent) 10%, #fff); box-shadow: none; border: 1px solid color-mix(in srgb, var(--c-accent) 25%, transparent); }
.theme-general .cta-eyebrow { color: var(--c-accent-link); }
.theme-general .location-panel, .theme-general .promo-card, .theme-general .testimonial, .theme-general .vdp-summary, .theme-general .filters { background: #fff; border: 1px solid var(--c-border); box-shadow: none; }
.theme-general .promo-card { border-top: 4px solid var(--c-accent); }
.theme-general .site-footer { border-radius: var(--radius) var(--radius) 0 0; margin-top: 24px; }
