/* Shared public-site polish. Keep the dealer dashboard independent. */
:root { --public-header: 144px; color-scheme: dark; }
html { scroll-padding-top: calc(var(--public-header) + 24px); }
body { -webkit-font-smoothing: antialiased; }
body[data-page] #main-content { padding-top: calc(var(--public-header) + 32px) !important; }
body[data-page="index"] #main-content,
body[data-page="about"] #main-content,
body[data-page="trade-in"] #main-content { padding-top: var(--public-header) !important; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible { outline: 2px solid #e8c763 !important; outline-offset: 4px; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 200000; padding: 12px 20px; background: #e8c763; color: #050505; font-weight: 700; border-radius: 6px; }
.skip-link:focus { top: 12px; }
#main-content:focus { outline: none; }
#main-nav { height: var(--public-header); transition: none; background: #070707 !important; border-bottom: 1px solid #302a1a; }
#main-nav .header-top { height: 96px; padding: 14px 32px !important; transform: none; }
#main-nav .header-inner { height: 100%; flex-direction: row !important; justify-content: space-between !important; gap: 32px; transition: none; }
#main-nav .logo-container { width: auto !important; flex-shrink: 0; margin: 0 !important; justify-content: flex-start; transition: none; transform: none; }
#main-nav .logo-image { height: 64px !important; max-width: 180px !important; margin: 0 !important; transition: none; }
#main-nav .contact-info { display: flex !important; flex-direction: row !important; width: auto !important; max-width: none !important; gap: 32px !important; transform: none; transition: none; }
#main-nav .contact-info-item { gap: 10px !important; }
#main-nav .contact-info-item p { line-height: 1.45; }
#main-nav .contact-info-item div p:first-child { opacity: 1 !important; max-height: none !important; }
#main-nav .contact-info-item div p:nth-child(2) { font-size: 14px !important; }
#main-nav .nav-bottom { height: 48px; padding: 0 24px !important; }
#main-nav .nav-bottom > div, #main-nav .nav-bottom > div > div { height: 100%; }
#main-nav .nav-bottom a { display: inline-flex; align-items: center; height: 100%; font-size: 11px; }
#main-nav a[aria-current="page"] { color: #e8c763; }
#main-nav .nav-bottom a[aria-current="page"] { border-bottom: 2px solid #d4af37; }
#menu-toggle { border-radius: 8px; }
#mobile-menu { height: 100dvh; }
#mobile-menu > div { min-height: 100dvh; padding: 80px 24px 32px; justify-content: flex-start; }
#mobile-menu .mb-12 { margin-bottom: 20px; }
#mobile-menu .mobile-menu-logo { max-height: 64px; width: auto; filter: none; }
#mobile-menu .mobile-link { padding: 13px 20px; font-size: 15px; }
#mobile-menu .mt-12 { margin-top: 24px; }
/* Content should never be hidden while waiting for scroll animations. */
.fade-in-section, .slide-in-left, .slide-in-right, .scale-in { opacity: 1 !important; transform: none !important; }
.gold-text { background: linear-gradient(110deg,#f3d878,#c5a04a); -webkit-background-clip: text; background-clip: text; }
.text-gray-500 { color: #a1a1aa !important; }
.text-gray-600 { color: #98989f !important; }
.home-hero { height: auto !important; min-height: 560px !important; }
.home-hero > .container { max-width: 1280px; padding: 60px 32px !important; }
.home-hero .hero-main { font-size: clamp(44px,5.7vw,76px) !important; line-height: 1.04 !important; letter-spacing: -.045em; }
.home-hero h1 > span:last-child { font-size: 14px; line-height: 1.6; letter-spacing: .05em; margin-top: 20px; }
.home-hero p { max-width: 510px; font-size: 17px; font-weight: 400; }
.home-hero .btn-car-key, .home-hero .btn-finance { min-height: 54px; border-radius: 6px; padding: 16px 22px !important; font-size: 12px !important; letter-spacing: .06em; flex: 1; box-shadow: none; animation: none; white-space: nowrap; transform: none; }
.home-hero .btn-car-key { background: #dfbd55; border: 1px solid #dfbd55; color: #080808; }
.home-hero .btn-finance { border: 1px solid #c6a54f; background: #0b0b0bb3; color: #f5e4ad; }
.home-hero .btn-car-key:hover { background: #f2d782; }
.home-hero .btn-finance:hover { background: #29220e; }
.home-hero .btn-car-key::before, .home-hero .btn-car-key::after, .home-hero .btn-finance::before { display: none; }
.home-stats { padding: 24px 16px !important; background: #15130d; border-color: #3a311a; }
.home-stats .grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px !important; }
.home-stats .stat-number { font-size: 36px !important; color: #e8c763; }
.home-stats p { color: #d6d2c7 !important; font-size: 10px; }
.home-stats .grid > div { padding: 8px 0; }
.about-hero { height: auto !important; min-height: 520px; padding: 72px 0; background: radial-gradient(ellipse at 85% 50%,#29200d 0,transparent 60%); }
.about-hero .container { max-width: 1280px; }
.about-hero h1 { font-size: clamp(44px,6vw,80px); line-height: 1.02; }
.about-hero p { font-size: 20px; }
.about-hero .absolute.bottom-10 { display: none; }
.about-hero .animate-pulse { animation: none; }
.inventory-intro { max-width: 1600px; margin: 0 auto; padding: 4px 32px 28px; }
.eyebrow { color: #dfbd55; font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 10px; }
.inventory-intro h1 { font-size: clamp(30px,3.4vw,46px); font-weight: 900; letter-spacing: -.035em; line-height: 1.15; margin-bottom: 12px; }
.inventory-intro > p:last-child { color: #a1a1aa; font-size: 15px; }
.inventory-toolbar { top: var(--public-header) !important; }
.inventory-main aside > div { top: calc(var(--public-header) + 100px) !important; }
.inventory-card { border-radius: 12px; transition: border-color .2s ease, box-shadow .2s ease; }
.inventory-card:hover { transform: none; border-color: #9c823d; box-shadow: 0 8px 26px #0005; }
.inventory-card > a { aspect-ratio: 4/3; height: auto; }
.vehicle-status { position: absolute; top: 14px; left: 14px; padding: 7px 12px; border-radius: 4px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: white; }
.vehicle-status-sold { background: #9d3434; }
.vehicle-status-pending { background: #85530d; }
.filter-pill { min-height: 40px; text-align: left; }
#search-input, #sort-select { min-height: 46px; border-radius: 8px; }
.empty-actions { display: flex; gap: 16px; margin-top: 24px; align-items: center; }
.empty-actions button { padding: 12px 18px; border: 1px solid #d4af37; border-radius: 6px; color: #e8c763; }
.empty-actions a { text-decoration: underline; }
.sticky-sidebar { top: calc(var(--public-header) + 24px) !important; }
.gallery-arrow { opacity: 1 !important; min-width: 44px; min-height: 44px; }
#main-content > nav { flex-wrap: wrap; row-gap: 8px; }
#vin-num { overflow-wrap: anywhere; }
#form-wrapper .form-input { font-size: 16px; }
footer { border-top-color: #302a1a !important; }
footer a { overflow-wrap: anywhere; }
@media (max-width: 1023px) {
 :root { --public-header: 76px; }
 #main-nav .header-top { height: 76px; padding: 12px 20px !important; }
 #main-nav .logo-image { height: 50px !important; max-width: 136px !important; }
 #main-nav .contact-info { margin-right: 56px; }
 #main-nav .contact-info-item { display: none !important; }
 #main-nav .contact-info-item[href^="tel:"] { display: flex !important; width: 44px; height: 44px; justify-content: center; background: #201c10; border: 1px solid #6b5828; border-radius: 8px; }
 #main-nav .contact-info-item[href^="tel:"] div { display: none; }
 #main-nav #menu-toggle { top: 14px; right: 16px; }
 #main-nav .contact-info-item i { font-size: 17px !important; }
 .home-hero { min-height: 560px !important; }
 .home-hero > .container { padding: 44px 24px !important; }
 .home-hero > .absolute > div { background: linear-gradient(90deg,#050505f2,#050505a6); }
 .about-hero { min-height: 480px; padding: 56px 0; }
 .sticky-sidebar { position: static; }
}
@media (max-width: 639px) {
 body { font-size: 16px; }
 body[data-page] #main-content { padding-top: calc(var(--public-header) + 24px) !important; }
 body[data-page="index"] #main-content, body[data-page="about"] #main-content, body[data-page="trade-in"] #main-content { padding-top: var(--public-header) !important; }
 .home-hero > .container { padding: 40px 20px !important; }
 .home-hero { min-height: 580px !important; }
 .home-hero .hero-main { font-size: clamp(36px,10.5vw,52px) !important; }
 .home-hero p { font-size: 16px; line-height: 1.65; }
 .home-hero h1 > span:last-child { font-size: 12px; margin-top: 18px; }
 .home-hero .btn-car-key, .home-hero .btn-finance { min-height: 50px; width: 100%; }
 .home-stats .stat-number { font-size: 27px !important; }
 .home-stats p { font-size: 8px; letter-spacing: .08em; line-height: 1.6; }
 .inventory-intro { padding: 0 20px 24px; }
 .inventory-intro > p:last-child { font-size: 14px; }
 .inventory-toolbar { position: static; }
 #vehicle-grid { gap: 24px !important; }
 .about-hero h1 { font-size: 46px; }
 .about-hero p { font-size: 17px; }
 .about-hero { padding: 48px 0; }
 input, select, textarea { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto !important; }
 *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
/* Override generated utility backgrounds without depending on CDN load order. */
body[data-page] .gold-text { color: #e8c763; -webkit-text-fill-color: transparent; }
body[data-page] .home-stats { background: #15130d !important; }
body[data-page] .home-stats .stat-number { color: #e8c763 !important; }
.inventory-intro { padding-bottom: 16px; }
.inventory-intro h1 { font-size: clamp(30px,3vw,40px); margin-bottom: 8px; }
@media (max-width: 639px) {
 #filter-btn { flex: 0 0 100px; }
 #sort-select { font-size: 13px; padding-left: 12px; }
}
#mobile-filter-content > div:first-child h2 { display: none; }
#mobile-filter-content > div:first-child { justify-content: flex-end; }
#close-drawer { min-width: 44px; min-height: 44px; }
#filter-drawer { visibility: hidden; }
#filter-drawer.drawer-open { visibility: visible; }
.form-label, .step-meta, .review-key { color: #b5b5bb; }
.form-input::placeholder { color: #85858d; opacity: 1; }
.form-step.active { animation: none; }
#specs-grid p:last-child { white-space: normal; overflow: visible; overflow-wrap: anywhere; }
/* Compact footer: one divider, with the credit close to the legal links. */
body[data-page] footer { padding-top:32px !important; padding-bottom:16px !important; }
body[data-page] footer > .grid { gap:24px; margin-bottom:24px; }
body[data-page] footer > .grid h4 { margin-bottom:16px; }
body[data-page] footer > .grid img { margin-bottom:16px; }
body[data-page] footer > .grid address { margin-bottom:16px; }
body[data-page] footer > .border-t { padding-top:16px; }
@media (max-width:639px) {
 body[data-page] footer { padding-top:24px !important; padding-bottom:12px !important; }
 body[data-page] footer > .grid { gap:20px !important; margin-bottom:20px; }
 body[data-page] footer > .grid h4 { margin-bottom:12px; }
 body[data-page] footer > .border-t { text-align:center; line-height:1.7; letter-spacing:.12em; }
}
body[data-page="index"] #contact { padding-top:48px !important; padding-bottom:40px !important; }
@media (max-width:639px) {
 body[data-page="index"] #contact { padding-top:24px !important; padding-bottom:24px !important; }
}

/* Final phone pass: reduce tall sections and give form fields room to read. */
@media (max-width:639px) {
 body[data-page="about"] #main-content > section:not(.about-hero) { padding-top:40px; padding-bottom:40px; }
 body[data-page="contact"] #main-content > section:last-child { height:320px; }
 #step-2 > .grid { grid-template-columns:minmax(0,1fr); }
 .review-val { min-width:0; overflow-wrap:anywhere; }
}
@media (max-width:359px) {
 #step-1 > .grid { grid-template-columns:minmax(0,1fr); }
 .review-row { flex-direction:column; gap:4px; }
 .review-val { text-align:left; }
}
@media (min-width:640px) and (max-width:1023px) {
 body[data-page="about"] .glass-card { padding:24px; }
}
