/* CarBuyerUSA offer components: modal and VIN quote. */

/* Load AFTER bootstrap.css and main-2025.css. All rules are modal-scoped. */
#cbuOfferModal {
  --cbu-green: #1b8a4a;
  --cbu-navy: #0d2b52;
  --cbu-text: #1f2937;
  --cbu-muted: #6b7280;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  color: var(--cbu-text);
  line-height: 1.45;
}
#cbuOfferModal *, #cbuOfferModal *::before, #cbuOfferModal *::after { box-sizing: border-box; }
#cbuOfferModal .modal-dialog { width: calc(100% - 36px); max-width: 684px; margin: 28px auto 48px; }
#cbuOfferModal .modal-content {
  padding: 0; border: 0; border-radius: 16px; overflow: hidden; background: #fff;
  box-shadow: 0 8px 28px rgba(13,43,82,.18);
}
#cbuOfferModal .cbu-top {
  position: relative; display: flex; justify-content: space-between; align-items: center; gap: 14px;
  padding: 22px 64px 22px 28px; color: #fff;
  background: linear-gradient(135deg, #0d2b52 0%, #1565c0 100%);
}
#cbuOfferModal .cbu-brand { font-size: 18px; font-weight: 800; letter-spacing: .02em; }
#cbuOfferModal .cbu-brand span { color: #7ed4ff; }
#cbuOfferModal .cbu-phone { color: #fff; font-size: 15px; font-weight: 700; text-decoration: none; white-space: nowrap; }
#cbuOfferModal .cbu-close {
  position: absolute; top: 50%; right: 12px; transform: translateY(-50%);
  width: 40px; height: 40px; margin: 0; padding: 0; border: 0; border-radius: 8px;
  background: transparent; color: #fff; font: 30px/1 Arial,sans-serif; cursor: pointer;
}
#cbuOfferModal .cbu-close:hover { background: rgba(255,255,255,.16); }
#cbuOfferModal .cbu-body { padding: 32px 28px 28px; }
#cbuOfferModal #priceForm, #cbuOfferModal #contact_form { margin: 0; padding: 0; }
#cbuOfferModal .cbu-badge {
  display: inline-block; margin: 0 0 14px; padding: 6px 12px; border-radius: 999px;
  background: #e8f7ee; color: #146b39; font-size: 12px; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase;
}
#cbuOfferModal .cbu-title {
  margin: 0 0 8px; color: var(--cbu-navy);
  font-family: inherit; font-size: 28px; font-weight: 700; line-height: 1.2;
  letter-spacing: normal; text-transform: none;
}
#cbuOfferModal .cbu-lead { margin: 0 0 22px; color: var(--cbu-muted); font-size: 16px; line-height: 1.45; }
#cbuOfferModal .cbu-offer {
  margin: 0 0 26px; padding: 22px 20px 18px; border: 2px solid #b2f0d0; border-radius: 14px;
  background: linear-gradient(180deg, #f3fcf7 0%, #fff 100%); text-align: center;
}
#cbuOfferModal .cbu-offer-label { margin-bottom: 6px; color: var(--cbu-muted); font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
#cbuOfferModal .cbu-amount { color: #00bfa5; font-size: 52px; font-weight: 800; line-height: 1; letter-spacing: -.02em; overflow-wrap: anywhere; }
#cbuOfferModal .cbu-currency { margin-right: 2px; font-size: 28px; vertical-align: top; }
#cbuOfferModal .cbu-offer-note { margin: 10px 0 0; color: var(--cbu-muted); font-size: 13px; }
#cbuOfferModal .cbu-trust { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 0 0 30px; }
#cbuOfferModal .cbu-trust-card {
  padding: 20px 12px 18px; border: 3px solid #0a4a24; border-radius: 16px;
  background: linear-gradient(180deg, #1b8a4a 0%, #0e6f33 100%); color: #e8f7ee;
  text-align: center; font-size: 14px; font-weight: 700; line-height: 1.35;
  box-shadow: 0 5px 0 #06331a, 0 12px 24px rgba(10,74,36,.35), inset 0 1px 0 rgba(255,255,255,.25);
}
#cbuOfferModal .cbu-icon {
  display: flex; align-items: center; justify-content: center; width: 52px; height: 52px;
  margin: 0 auto 12px; border-radius: 50%; background: #fff; color: #1b8a4a; font-size: 26px; font-weight: 900;
  box-shadow: 0 4px 0 #0a4a24, 0 6px 14px rgba(0,0,0,.2);
}
#cbuOfferModal .cbu-trust-card strong {
  display: block; margin: 0 0 6px; color: #fff; font-size: 28px; font-weight: 900;
  letter-spacing: .08em; text-transform: uppercase; text-shadow: 0 2px 0 rgba(0,0,0,.25);
}
#cbuOfferModal .cbu-form-title, #cbuOfferModal .cbu-no-price h3 {
  margin: 0 0 6px; color: var(--cbu-navy); font-family: inherit; font-size: 20px;
  font-weight: 700; line-height: 1.3; letter-spacing: normal; text-transform: none;
}
#cbuOfferModal .cbu-step { margin: 0 0 18px; color: var(--cbu-muted); font-size: 14.5px; line-height: 1.45; }
#cbuOfferModal .cbu-no-price { margin-bottom: 22px; }
#cbuOfferModal .cbu-no-price p { margin: 0; font-size: 16px; }
#cbuOfferModal .cbu-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 14px; }
#cbuOfferModal .cbu-field { min-width: 0; }
#cbuOfferModal .cbu-field label {
  display: block; margin: 0 0 5px; color: var(--cbu-navy); font-size: 12px;
  font-weight: 700; letter-spacing: normal; text-transform: none;
}
#cbuOfferModal .cbu-field input {
  display: block; width: 100%; height: 46px; margin: 0; padding: 0 12px;
  border: 1.5px solid #d1d5db; border-radius: 10px !important; background: #fff;
  color: var(--cbu-text); font-family: inherit; font-size: 15px; line-height: normal;
  box-shadow: none; transition: border-color .15s,box-shadow .15s;
}
#cbuOfferModal .cbu-field input:focus { outline: none; border-color: var(--cbu-green); box-shadow: 0 0 0 3px rgba(27,138,74,.15); }
#cbuOfferModal .cbu-captcha { display: flex; justify-content: center; clear: both; margin: 16px 0 10px; }
#cbuOfferModal .cbu-accept-wrap {
  position: relative; margin: 14px 0 28px; border-radius: 18px;
  box-shadow: 0 8px 0 #042816, 0 16px 0 rgba(4,40,22,.35), 0 22px 40px rgba(18,138,63,.55);
  transition: transform .1s,box-shadow .1s;
}
#cbuOfferModal .cbu-accept {
  appearance: none; display: block; width: 100%; height: auto; margin: 0;
  padding: 26px 24px 24px; border: 4px solid #06331a; border-radius: 18px;
  background: linear-gradient(180deg,#4ae87e 0%,#22c55e 28%,#128a3f 70%,#0a5c2c 100%);
  color: #fff; font-family: inherit; font-size: 24px; font-weight: 900; line-height: 1.25;
  letter-spacing: .05em; text-align: center; text-transform: uppercase; white-space: normal; cursor: pointer;
  text-shadow: 0 2px 0 rgba(0,0,0,.35);
  box-shadow: inset 0 3px 0 rgba(255,255,255,.45),inset 0 -4px 8px rgba(0,0,0,.18);
}
#cbuOfferModal .cbu-accept-sub {
  display: block; margin-top: 6px;
  color: #fff; font-size: 14px; font-weight: 700; line-height: 1.3; text-align: center; text-transform: none;
  letter-spacing: .02em; text-shadow: 0 1px 0 rgba(0,0,0,.3);
}
#cbuOfferModal .cbu-accept-wrap:hover { transform: translateY(-3px); }
#cbuOfferModal .cbu-accept-wrap:hover .cbu-accept { background: linear-gradient(180deg,#5bf08c 0%,#2ad46a 28%,#14a049 70%,#0a5c2c 100%); }
#cbuOfferModal .cbu-accept-wrap:active { transform: translateY(6px); box-shadow: 0 2px 0 #042816,0 6px 16px rgba(18,138,63,.4); }
#cbuOfferModal .cbu-close:focus-visible, #cbuOfferModal .cbu-phone:focus-visible, #cbuOfferModal .cbu-accept:focus-visible { outline: 3px solid #7ed4ff; outline-offset: 3px; }
#cbuOfferModal .cbu-consent {
  display: flex; gap: 10px; align-items: flex-start; margin: 0; color: var(--cbu-muted);
  font-size: 11.5px; font-weight: 400; line-height: 1.4; letter-spacing: normal; text-transform: none;
}
#cbuOfferModal .cbu-consent input { flex: 0 0 auto; width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--cbu-green); }
#cbuOfferModal .cbu-consent a { color: var(--cbu-navy); text-decoration: underline; }
#cbuOfferModal .cbu-fine { margin: 16px 0 0; color: var(--cbu-muted); font-size: 12px; line-height: 1.45; text-align: center; }
#cbuOfferModal .cbu-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
/* Bootstrap on this site defines the generated backdrop as absolute. Make it
   viewport-fixed so it cannot end when a tall offer modal is scrolled. */
body.modal-open .modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
}
body.modal-open #cbuOfferModal {
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 560px) {
  #cbuOfferModal .modal-dialog { width: calc(100% - 16px); margin: 8px auto 24px; }
  #cbuOfferModal .cbu-top { padding: 16px 56px 16px 18px; flex-direction: column; gap: 6px; align-items: flex-start; }
  #cbuOfferModal .cbu-body { padding: 24px 18px 22px; }
  #cbuOfferModal .cbu-grid, #cbuOfferModal .cbu-trust { grid-template-columns: 1fr; }
  #cbuOfferModal .cbu-trust { gap: 20px; }
  #cbuOfferModal .cbu-amount { font-size: 42px; }
  #cbuOfferModal .cbu-field input { font-size: 16px; }
  #cbuOfferModal .cbu-accept { padding: 22px 16px 20px; font-size: 21px; letter-spacing: .015em; white-space: normal; }
  #cbuOfferModal .cbu-accept-sub { font-size: 13px; letter-spacing: 0; }
}
@media (max-width: 359px) {
  #cbuOfferModal .cbu-captcha { width: 304px; margin-left: calc((100% - 304px)/2); transform: scale(.85); transform-origin: center; }
}
@media (prefers-reduced-motion: reduce) {
  #cbuOfferModal.fade, #cbuOfferModal.fade .modal-dialog, #cbuOfferModal .cbu-accept-wrap, #cbuOfferModal .cbu-field input { transition: none; }
  #cbuOfferModal .cbu-accept-wrap:hover, #cbuOfferModal .cbu-accept-wrap:active { transform: none; }
}

/* VIN quote component */

/* Load after the existing CarBuyerUSA stylesheets. */
#vinQuoteBox { --vin-green:#1b8a4a; --vin-navy:#0d2b52; --vin-text:#1f2937; --vin-muted:#6b7280; max-width:720px; margin:28px auto 48px; border-radius:16px; overflow:hidden; background:#fff; color:var(--vin-text); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif; line-height:1.45; box-shadow:0 8px 28px rgba(13,43,82,.12); }
#vinQuoteBox *,#vinQuoteBox *:before,#vinQuoteBox *:after { box-sizing:border-box; }
#vinQuoteBox .vin-top { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:22px 28px; background:linear-gradient(135deg,#0d2b52 0%,#1565c0 100%); color:#fff; }
#vinQuoteBox .vin-brand { font-size:18px; font-weight:800; letter-spacing:.02em; } #vinQuoteBox .vin-brand span { color:#7ed4ff; }
#vinQuoteBox .vin-phone { color:#fff; font-size:15px; font-weight:700; text-decoration:none; white-space:nowrap; }
#vinQuoteBox .vin-body { padding:32px 28px 28px; }
#vinQuoteBox h1 { margin:0 0 8px; color:var(--vin-navy); font:700 28px/1.2 inherit; }
#vinQuoteBox h2 { margin:0 0 6px; color:var(--vin-navy); font:700 20px/1.3 inherit; }
#vinQuoteBox .vin-badge { display:inline-block; margin:0 0 14px; padding:6px 12px; border-radius:999px; background:#e8f7ee; color:#146b39; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
#vinQuoteBox .vin-lead { margin:0 0 22px; color:var(--vin-muted); font-size:16px; }
#vinQuoteBox .vin-step { margin:0 0 18px; color:var(--vin-muted); font-size:14.5px; }
#vinQuoteBox .vin-trust { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0 0 30px; }
#vinQuoteBox .vin-trust-card { padding:20px 12px 18px; border:3px solid #0a4a24; border-radius:16px; background:linear-gradient(#1b8a4a,#0e6f33); color:#e8f7ee; text-align:center; font-size:14px; font-weight:700; line-height:1.35; box-shadow:0 5px 0 #06331a,0 12px 24px rgba(10,74,36,.35),inset 0 1px 0 rgba(255,255,255,.25); }
#vinQuoteBox .vin-icon { display:flex; align-items:center; justify-content:center; width:52px; height:52px; margin:0 auto 12px; border-radius:50%; background:#fff; color:#1b8a4a; font-size:26px; font-weight:900; box-shadow:0 4px 0 #0a4a24,0 6px 14px rgba(0,0,0,.2); }
#vinQuoteBox .vin-trust-card strong { display:block; margin:0 0 6px; color:#fff; font-size:28px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; text-shadow:0 2px 0 rgba(0,0,0,.25); }
#vinQuoteBox .vin-error { margin:0 0 18px; color:var(--vin-navy); font-size:15px; font-weight:700; text-align:center; }
#vinQuoteBox .vin-grid,#vinQuoteBox .vin-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 14px; } #vinQuoteBox .vin-field-full { grid-column:1 / -1; }
#vinQuoteBox .vin-field label,#vinQuoteBox #cartype > label { display:block; margin:0 0 5px; color:var(--vin-navy); font-size:12px; font-weight:700; }
#vinQuoteBox .vin-field input,#vinQuoteBox .vin-field select,#vinQuoteBox #cartype select { display:block; width:100%; height:46px; margin:0; padding:0 12px; border:1.5px solid #d1d5db; border-radius:10px !important; background:#fff; color:var(--vin-text); font:15px inherit; box-shadow:none; }
#vinQuoteBox .vin-field input:focus,#vinQuoteBox .vin-field select:focus,#vinQuoteBox #cartype select:focus { outline:0; border-color:var(--vin-green); box-shadow:0 0 0 3px rgba(27,138,74,.15); }
#vinQuoteBox .vin-action { display:block; width:100%; margin:18px 0 28px; padding:24px; border:4px solid #06331a; border-radius:18px; background:linear-gradient(#4ae87e 0%,#22c55e 28%,#128a3f 70%,#0a5c2c 100%); color:#fff; font-family:inherit; font-size:22px; font-weight:900; letter-spacing:.04em; line-height:1.25; text-align:center; text-shadow:0 2px 0 rgba(0,0,0,.35); cursor:pointer; box-shadow:0 8px 0 #042816,0 16px 0 rgba(4,40,22,.35),0 22px 40px rgba(18,138,63,.45),inset 0 3px 0 rgba(255,255,255,.45),inset 0 -4px 8px rgba(0,0,0,.18); }
#vinQuoteBox .vin-action:hover { transform:translateY(-3px); background:linear-gradient(#5bf08c 0%,#2ad46a 28%,#14a049 70%,#0a5c2c 100%); }
#vinQuoteBox .vin-action:active { transform:translateY(5px); box-shadow:0 2px 0 #042816,0 6px 16px rgba(18,138,63,.4); }
#vinQuoteBox .vin-action span,#vinQuoteBox .vin-action small { display:block; } #vinQuoteBox .vin-action small { margin-top:6px; font-size:14px; font-weight:700; letter-spacing:.02em; text-transform:none; }
#vinQuoteBox .vin-bookmark { display:block; color:#b91c1c; font-size:13px; font-weight:600; text-align:center; }
#vinQuoteBox .vin-choice { max-width:510px; margin:0 auto; } #vinQuoteBox .vin-choice select { margin-bottom:0; }
#vinQuoteBox .vin-offer { margin:0 0 18px; padding:22px 20px 18px; border:2px solid #b2f0d0; border-radius:14px; background:linear-gradient(#f3fcf7,#fff); text-align:center; }
#vinQuoteBox .vin-offer-label { margin-bottom:6px; color:var(--vin-muted); font-size:13px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
#vinQuoteBox .vin-amount { color:#00bfa5; font-size:52px; font-weight:800; line-height:1; letter-spacing:-.02em; overflow-wrap:anywhere; } #vinQuoteBox .vin-amount > span:first-child { margin-right:2px; font-size:28px; vertical-align:top; }
#vinQuoteBox .vin-offer p { margin:10px 0 0; color:var(--vin-muted); font-size:13px; }
#vinQuoteBox .vin-vehicle { margin:-6px 0 26px; color:var(--vin-navy); font-size:15px; font-weight:700; text-align:center; }
#vinQuoteBox .vin-contact-title { margin-top:4px; } #vinQuoteBox .vin-radios { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:18px 0 0; padding:14px; border:1px solid #e5e7eb; border-radius:10px; } #vinQuoteBox .vin-radios legend { width:auto; margin:0; padding:0 5px; color:var(--vin-navy); font-size:12px; font-weight:700; } #vinQuoteBox .vin-radios span { display:block; margin-bottom:7px; color:var(--vin-muted); font-size:13px; font-weight:700; } #vinQuoteBox .vin-radios label { margin-right:10px; font-size:13px; font-weight:400; }
#vinQuoteBox .vin-captcha { display:flex; justify-content:center; margin:18px 0 4px; } #vinQuoteBox .vin-fine { margin:0; color:var(--vin-muted); font-size:12px; text-align:center; }
#vinQuoteBox .vin-no-price { margin-bottom:24px; } #vinQuoteBox .vin-no-price p { margin:0; color:var(--vin-muted); }
@media (max-width:560px) { #vinQuoteBox { margin:16px 8px 28px; } #vinQuoteBox .vin-top { padding:16px 18px; flex-direction:column; align-items:flex-start; gap:6px; } #vinQuoteBox .vin-body { padding:24px 18px 22px; } #vinQuoteBox .vin-grid,#vinQuoteBox .vin-contact-grid,#vinQuoteBox .vin-trust,#vinQuoteBox .vin-radios { grid-template-columns:1fr; } #vinQuoteBox .vin-amount { font-size:42px; } #vinQuoteBox .vin-field input,#vinQuoteBox .vin-field select { font-size:16px; } #vinQuoteBox .vin-action { padding:22px 14px 20px; font-size:19px; } }
@media (prefers-reduced-motion:reduce) { #vinQuoteBox .vin-action { transition:none; } #vinQuoteBox .vin-action:hover,#vinQuoteBox .vin-action:active { transform:none; } }



/* Clunker Junker partner section */
#tcj-partner{margin:0;font-family:Arial,sans-serif;color:#1a1a1a}#tcj-partner.tcj-card{max-width:100%;margin:30px auto;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 6px 24px rgba(0,0,0,.12)}#tcj-partner .tcj-top{display:flex;align-items:center;gap:22px;background:#0B2545;padding:22px 28px;color:#fff}#tcj-partner .tcj-top img{width:120px;height:120px;border-radius:10px}#tcj-partner .tcj-top h1{margin:0;font-size:28px}#tcj-partner .tcj-top p{margin:4px 0 0;color:#9fd6b0;font-weight:bold}#tcj-partner .tcj-body{padding:14px 32px 26px;font-size:16px;line-height:1.6}#tcj-partner h2{color:#0E6F33;font-size:19px;margin:22px 0 8px}#tcj-partner .tcj-lien{background:#E8F5EC;border-left:5px solid #1B8A4A;padding:12px 16px;border-radius:6px}#tcj-partner ul{columns:2;padding-left:20px;margin:0}#tcj-partner li{margin:4px 0}#tcj-partner .tcj-end{text-align:center;font-weight:bold;color:#0B2545;margin-top:24px}#tcj-partner .tcj-ctawrap{text-align:center;padding:30px 20px 14px}#tcj-partner .tcj-cta{display:inline-block;text-decoration:none;color:#fff;font-size:26px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;padding:22px 44px;border-radius:14px;border:4px solid #06331A;background:linear-gradient(180deg,#4AE87E 0%,#22B85A 35%,#138A40 70%,#0A5C2C 100%);box-shadow:0 8px 0 #042816,0 16px 30px rgba(0,0,0,.35),inset 0 2px 0 rgba(255,255,255,.5);text-shadow:0 2px 2px rgba(0,0,0,.4)}#tcj-partner .tcj-cta small{display:block;font-size:14px;font-weight:600;text-transform:none;margin-top:6px;opacity:.95}#tcj-partner .tcj-cta:hover{filter:brightness(1.07)}#tcj-partner .tcj-cta:active{transform:translateY(6px);box-shadow:0 2px 0 #042816,0 6px 14px rgba(0,0,0,.3)}
#tcj-partner, #tcj-partner * { box-sizing: border-box; }
#tcj-partner .tcj-top img { flex: 0 0 120px; object-fit: contain; }
#tcj-partner .tcj-top h1 { color: #fff; font-family: Arial, sans-serif; font-weight: 700; line-height: 1.2; letter-spacing: normal; text-transform: none; }
#tcj-partner .tcj-body h2 { font-family: Arial, sans-serif; font-weight: 700; line-height: 1.3; letter-spacing: normal; text-transform: none; }
#tcj-partner .tcj-body p { margin: 0 0 16px; }
#tcj-partner .tcj-cta { max-width: 100%; white-space: normal; line-height: 1.25; color: #fff; }
#tcj-partner .tcj-cta small { line-height: 1.4; }
#tcj-partner .tcj-cta:focus-visible { outline: 3px solid #0b2545; outline-offset: 6px; }
#tcj-partner .tcj-ctawrap-bottom { padding-top: 26px; }
#tcj-partner .tcj-cta .tcj-phone { font-size: 34px; font-weight: 900; letter-spacing: 1px; margin-top: 10px; }
@media (max-width: 600px) {
  #tcj-partner.tcj-card { margin: 16px auto; }
  #tcj-partner .tcj-top { flex-direction: column; gap: 14px; padding: 22px 18px; text-align: center; }
  #tcj-partner .tcj-top h1 { font-size: 24px; }
  #tcj-partner .tcj-body { padding: 14px 18px 26px; }
  #tcj-partner ul { columns: 1; }
  #tcj-partner .tcj-ctawrap { padding-right: 12px; padding-left: 12px; }
  #tcj-partner .tcj-cta { padding: 18px 14px; font-size: 21px; }
  #tcj-partner .tcj-cta .tcj-phone { font-size: 28px; letter-spacing: 0; }
}
