/* DealersGO website: the parts every public page shares (header, buttons, sections, footer).
   Loaded after a page's own <style>, so these win where both style the same thing. Needs dg.css first. */
body { font-size: 17px; line-height: 1.6; }
a { color: var(--dg-blue); }

/* header */
header { background: color-mix(in srgb, var(--dg-bg) 92%, transparent); border-bottom: 1px solid var(--dg-line); backdrop-filter: blur(10px); }
header nav a { color: var(--dg-muted); font-weight: 500; font-size: 15px; }
header nav a:hover { color: var(--dg-ink); }

/* buttons: one shape, two weights */
.btn { border-radius: var(--dg-r); padding: 13px 22px; font-weight: 700; font-size: 15px; background: var(--dg-action); color: #fff !important; border: 2px solid var(--dg-action); box-shadow: none; transform: none; transition: background-color .15s, border-color .15s; }
.btn:hover { background: var(--dg-action-hover); border-color: var(--dg-action-hover); transform: none; box-shadow: none; }
.btn.ghost { background: var(--dg-card); color: var(--dg-ink) !important; border-color: var(--dg-line); }
.btn.ghost:hover { background: var(--dg-card); border-color: var(--dg-ink); }
.btn.small { padding: 9px 16px; font-size: 14px; border-radius: 12px; }
/* "Pricing" is a nav link, not a second loud button */
.btn.pricing, header nav a.btn.pricing { background: transparent; border-color: transparent; color: var(--dg-muted) !important; box-shadow: none; padding-left: 4px; padding-right: 4px; font-weight: 500; font-size: 15px; }
.btn.pricing:hover { background: transparent; border-color: transparent; color: var(--dg-ink) !important; box-shadow: none; }

/* headings: weight and tight tracking carry them; no gradient words, no shouting labels */
h1 { font-weight: 800; letter-spacing: -.035em; }
h2 { font-weight: 800; letter-spacing: -.03em; }
h3 { font-weight: 700; letter-spacing: -.015em; }
h1 em, h2 em, .hero h1 em, h1 .g { background: none; -webkit-background-clip: border-box; background-clip: border-box; color: inherit; -webkit-text-fill-color: currentColor; font-style: normal; }
section > .pill, .reveal > .pill, .sec-head > .pill { display: none; }
.pill { display: none !important; text-transform: none; letter-spacing: 0; font-size: 14px; font-weight: 600; background: var(--dg-blue-soft); color: var(--dg-blue); border-radius: 999px; }
section .sub { color: var(--dg-muted); }

/* one entrance on the hero is enough: everything else is simply there */
.reveal, .reveal.in { opacity: 1 !important; transform: none !important; transition: none !important; }

/* cards: a hairline and the radius, no floating shadow on every box */
.f, .step, .quote, .stat, .faq details, .demo-band, .works, .check, .check-out { border-color: var(--dg-line); border-radius: var(--dg-r-lg); box-shadow: none; }
.f:hover { transform: none; box-shadow: none; border-color: var(--dg-blue); }

/* the closing call to action sits on the sky band */
.cta-band .btn { background: var(--dg-action) !important; color: #fff !important; border-color: var(--dg-action) !important; }
.cta-band .btn.ghost { background: var(--dg-card) !important; color: var(--dg-ink) !important; border-color: var(--dg-line) !important; }
.cta-band { background: var(--dg-band); color: var(--dg-ink); border: 0; border-radius: 28px; }
.cta-band h2, .cta-band p { color: var(--dg-ink); }
.cta-band p { color: var(--dg-muted); }

/* inputs */
input[type="text"], input[type="email"], input[type="url"], input[type="tel"], input[type="password"], select, textarea { border-radius: var(--dg-r-sm); border: 1px solid var(--dg-line); }

/* footer */
.site-footer { background: var(--dg-card-2); border-top: 1px solid var(--dg-line); }
.site-footer h4 { text-transform: none; letter-spacing: 0; font-size: 14px; color: var(--dg-ink); }
.site-footer a { color: var(--dg-muted); }
.site-footer a:hover { color: var(--dg-ink); }
