/* Complete Automotive — shared typography and Contact Form 7 presentation. */
:root {
  --ca-clean-font: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html body,
body :where(button, input, select, textarea),
body :where(.main-nav, .mobile-drawer, .btn, .ca-btn, .eyebrow, .ca-inner-eyebrow, .ca-inner-label, .ca-form-kicker, .hero-stats, .blog-date) {
  font-family: var(--ca-clean-font) !important;
}

body :where(h1, h2, h3, h4, h5, h6) {
  font-family: var(--ca-clean-font) !important;
  font-weight: 800;
  letter-spacing: -.035em !important;
  text-transform: none !important;
}

body :where(p, li, a, input, select, textarea, button) {
  text-rendering: optimizeLegibility;
}

body :where(.eyebrow, .ca-inner-eyebrow, .ca-inner-label, .ca-form-kicker) {
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

/* One compact form component used in the homepage hero and all Pages. */
body .ca-form-card {
  width: 100% !important;
  max-width: 440px !important;
  padding: 28px !important;
  overflow: hidden !important;
  border: 1px solid #e3ddd3 !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.98) !important;
  box-shadow: 0 26px 70px rgba(10,12,16,.22) !important;
  color: #15171c !important;
}

body .ca-form-card::before { content: none !important; }
body .ca-form-card .ca-form-kicker {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 10px !important;
  color: #b81219 !important;
  font-size: 10px !important;
}
body .ca-form-card .ca-form-kicker::before {
  content: "" !important;
  display: block !important;
  width: 26px !important;
  height: 2px !important;
  flex: 0 0 26px !important;
  background: #ed1c24 !important;
}
body .ca-form-card h2 {
  margin: 0 0 7px !important;
  color: #15171c !important;
  font-size: clamp(28px, 3vw, 36px) !important;
  line-height: 1.08 !important;
}
body .ca-form-card > p:not(.ca-confidential) {
  margin: 0 0 17px !important;
  color: #666b74 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}
body .ca-form-card .wpcf7,
body .ca-form-card form {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body .ca-form-card form > p {
  width: 100% !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
}
body .ca-form-card .qf-row {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body .ca-form-card .qf-row > p {
  min-width: 0 !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
}
body .ca-form-card .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
}
body .ca-form-card :where(input:not([type="submit"]), select, textarea) {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 10px 13px !important;
  border: 1px solid #dcd6cc !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #17191e !important;
  box-shadow: none !important;
  font-family: var(--ca-clean-font) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}
body .ca-form-card :where(input:not([type="submit"]), select, textarea):focus {
  border-color: #b81219 !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(237,28,36,.11) !important;
}
body .ca-form-card :where(input, textarea)::placeholder {
  color: #747983 !important;
  opacity: 1 !important;
}
body .ca-form-card textarea {
  min-height: 84px !important;
  max-height: 140px !important;
  resize: vertical !important;
}
body .ca-form-card input[type="file"] {
  min-height: 42px !important;
  padding: 7px !important;
  font-size: 11px !important;
  color: #5e636b !important;
}
body .ca-form-card input[type="file"]::file-selector-button {
  margin-right: 8px !important;
  padding: 7px 10px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: #20242a !important;
  color: #fff !important;
  font-family: var(--ca-clean-font) !important;
  font-weight: 700 !important;
}
body .ca-form-card input[type="submit"],
body .ca-form-card button[type="submit"] {
  display: block !important;
  width: 100% !important;
  min-height: 48px !important;
  margin: 2px 0 0 !important;
  padding: 11px 18px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #b81219, #ed1c24) !important;
  color: #fff !important;
  box-shadow: 0 12px 24px rgba(184,18,25,.2) !important;
  font-family: var(--ca-clean-font) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}
body .ca-form-card input[type="submit"]:hover,
body .ca-form-card button[type="submit"]:hover { background: #15181d !important; }
body .ca-form-card .ca-upload-summary {
  margin: -2px 0 8px !important;
  color: #6b7078 !important;
  font-size: 11px !important;
}
body .ca-form-card .ca-confidential {
  margin: 10px 0 0 !important;
  color: #797e86 !important;
  font-size: 10px !important;
  line-height: 1.4 !important;
  text-align: center !important;
}
body .ca-form-card .wpcf7-spinner { display: block !important; margin: 7px auto 0 !important; }
body .ca-form-card .wpcf7-not-valid-tip { margin-top: 3px !important; color: #a50f16 !important; font-size: 11px !important; }
body .ca-form-card .wpcf7-response-output { margin: 9px 0 0 !important; padding: 8px 10px !important; font-size: 11px !important; }

/* Homepage form placement now uses the same shared component. */
body.home .hero-shared-form {
  width: 100%;
  max-width: 440px;
  margin-left: auto;
}
body.home .hero-shared-form .ca-form-card { position: relative !important; top: auto !important; }

@media (max-width: 980px) {
  body.home .hero-shared-form { max-width: 600px; margin-inline: auto; }
}

@media (max-width: 600px) {
  body .ca-form-card { max-width: none !important; padding: 23px 17px !important; border-radius: 19px !important; }
  body .ca-form-card .qf-row { grid-template-columns: 1fr !important; gap: 0 !important; }
  body .ca-form-card h2 { font-size: 29px !important; }
}
