:root {
    --ch-budget-blue: #1769ff;
    --ch-budget-blue-dark: #0b46b8;
    --ch-budget-blue-soft: #eef5ff;
    --ch-budget-ink: #0d1726;
    --ch-budget-muted: #667085;
    --ch-budget-border: #e6ebf2;
    --ch-budget-card: #ffffff;
    --ch-budget-bg: #f5f8fc;
    --ch-budget-shadow: 0 18px 55px rgba(20, 47, 84, .08);
    --ch-budget-radius: 22px;
}

.carhub-budget-body { background: var(--ch-budget-bg); color: var(--ch-budget-ink); }
.carhub-budget { min-height: 100vh; background: linear-gradient(180deg,#f8fbff 0,#f5f8fc 38%,#fff 100%); }
.carhub-budget__main { width: min(1180px, calc(100% - 32px)); margin: 0 auto; padding: 24px 0 70px; }

.carhub-budget-header { border-bottom: 1px solid rgba(230,235,242,.8); background: rgba(255,255,255,.92); backdrop-filter: blur(16px); position: sticky; top: 0; z-index: 50; }
.carhub-budget-header .carhub-home-header__signin { color: var(--ch-budget-blue); }

.carhub-budget-hero { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: 30px; padding: clamp(34px,6vw,72px); margin: 10px 0 22px; border: 1px solid #dce8fb; border-radius: 30px; background: radial-gradient(circle at 78% 18%,rgba(23,105,255,.16),transparent 34%), linear-gradient(135deg,#f9fcff 0,#edf5ff 100%); box-shadow: var(--ch-budget-shadow); }
.carhub-budget-hero__glow { position:absolute; width:420px; height:420px; right:-160px; top:-210px; border-radius:50%; background:rgba(23,105,255,.12); filter:blur(12px); }
.carhub-budget-hero__content,.carhub-budget-hero-card { position:relative; z-index:1; }
.carhub-budget-kicker,.carhub-budget-section-eyebrow { display:inline-flex; align-items:center; gap:8px; color:var(--ch-budget-blue); font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.carhub-budget-hero__eyebrow { display:flex; align-items:center; gap:8px; margin:16px 0 10px; color:#667085; font-size:13px; }
.carhub-budget-hero__eyebrow span { width:7px; height:7px; border-radius:50%; background:#20b26b; box-shadow:0 0 0 5px rgba(32,178,107,.12); }
.carhub-budget-hero h1 { max-width:780px; margin:0; font-size:clamp(34px,5vw,60px); line-height:1.02; letter-spacing:-.045em; }
.carhub-budget-hero p { max-width:760px; margin:20px 0 0; color:#56657a; font-size:17px; line-height:1.72; }
.carhub-budget-hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.carhub-budget-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:0 20px; border-radius:14px; text-decoration:none; font-weight:800; transition:.2s ease; }
.carhub-budget-button--primary { color:#fff; background:linear-gradient(135deg,var(--ch-budget-blue),#4b8dff); box-shadow:0 12px 25px rgba(23,105,255,.24); }
.carhub-budget-button--primary:hover { transform:translateY(-2px); box-shadow:0 16px 30px rgba(23,105,255,.28); }
.carhub-budget-button--secondary { color:var(--ch-budget-ink); background:#fff; border:1px solid #d9e2ef; }
.carhub-budget-button--secondary:hover { border-color:var(--ch-budget-blue); color:var(--ch-budget-blue); }
.carhub-budget-hero-card { align-self:center; padding:24px; border:1px solid rgba(214,226,244,.9); border-radius:22px; background:rgba(255,255,255,.82); box-shadow:0 18px 45px rgba(31,70,120,.08); backdrop-filter:blur(14px); }
.carhub-budget-hero-card__top span { display:block; color:#7a8799; font-size:11px; font-weight:800; letter-spacing:.12em; }
.carhub-budget-hero-card__top strong { display:block; margin-top:8px; color:var(--ch-budget-blue-dark); font-size:26px; letter-spacing:-.03em; }
.carhub-budget-hero-card__line { height:1px; margin:22px 0; background:var(--ch-budget-border); }
.carhub-budget-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.carhub-budget-stats div { padding:12px; border-radius:14px; background:#f7faff; }
.carhub-budget-stats strong { display:block; font-size:19px; }
.carhub-budget-stats span { display:block; margin-top:3px; color:#78869a; font-size:11px; }

.carhub-budget-panel { margin:22px 0; padding:28px; border:1px solid var(--ch-budget-border); border-radius:var(--ch-budget-radius); background:var(--ch-budget-card); box-shadow:0 10px 35px rgba(16,44,82,.045); }
.carhub-budget-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:20px; }
.carhub-budget-section-heading h2 { margin:5px 0 0; font-size:clamp(24px,3vw,34px); line-height:1.12; letter-spacing:-.035em; }
.carhub-budget-section-heading p { margin:7px 0 0; color:var(--ch-budget-muted); line-height:1.55; }
.carhub-budget-section-heading > a { color:var(--ch-budget-blue); font-weight:800; text-decoration:none; white-space:nowrap; }
.carhub-budget-section-meta { color:#8390a3; font-size:12px; }
.carhub-budget-intro__short { max-width:900px; margin:0 0 16px; color:#526176; line-height:1.7; }
.carhub-budget-details { border-top:1px solid var(--ch-budget-border); }
.carhub-budget-details summary { display:flex; align-items:center; justify-content:space-between; padding:18px 0 5px; cursor:pointer; color:var(--ch-budget-blue); font-weight:800; list-style:none; }
.carhub-budget-details summary::-webkit-details-marker { display:none; }
.carhub-budget-details summary span { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:var(--ch-budget-blue-soft); }
.carhub-budget-details[open] summary span { transform:rotate(45deg); }
.carhub-budget-details__content { padding:10px 0 0; color:#536175; line-height:1.7; }
.carhub-budget-table-wrap { overflow:auto; margin-top:18px; border:1px solid var(--ch-budget-border); border-radius:16px; }
.carhub-budget-table { width:100%; min-width:500px; border-collapse:collapse; }
.carhub-budget-table th,.carhub-budget-table td { padding:14px 16px; border-bottom:1px solid var(--ch-budget-border); text-align:left; }
.carhub-budget-table th { background:#f7faff; color:#44526a; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.carhub-budget-table tr:last-child td { border-bottom:0; }
.carhub-budget-table a { color:var(--ch-budget-ink); font-weight:700; text-decoration:none; }
.carhub-budget-table a:hover { color:var(--ch-budget-blue); }

.carhub-budget-sort { display:flex; align-items:center; gap:8px; color:#77849a; font-size:12px; font-weight:700; }
.carhub-budget-sort select { min-height:40px; padding:0 34px 0 12px; border:1px solid #dbe4ef; border-radius:11px; background:#fff; color:#233047; font-weight:700; }
.carhub-budget-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.carhub-budget-grid--latest { grid-template-columns:repeat(5,minmax(0,1fr)); }
.carhub-budget-card { overflow:hidden; min-width:0; border:1px solid #e5eaf1; border-radius:17px; background:#fff; box-shadow:0 7px 24px rgba(22,48,84,.055); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.carhub-budget-card:hover { transform:translateY(-4px); border-color:#c9dcff; box-shadow:0 16px 35px rgba(23,105,255,.11); }
.carhub-budget-card__media { position:relative; display:block; aspect-ratio:16/10; overflow:hidden; background:#f1f4f8; text-decoration:none; }
.carhub-budget-card__media img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; background:#fff; transition:transform .35s ease; }
.carhub-budget-card:hover .carhub-budget-card__media img { transform:scale(1.035); }
.carhub-budget-card__badge { position:absolute; top:10px; left:10px; padding:6px 9px; border:1px solid rgba(255,255,255,.75); border-radius:999px; background:rgba(255,255,255,.9); color:#24436d; font-size:10px; font-weight:800; backdrop-filter:blur(8px); }
.carhub-budget-card__empty { display:grid; height:100%; place-items:center; color:#8a96a7; font-size:12px; }
.carhub-budget-card__body { padding:15px; }
.carhub-budget-card__title { display:block; min-height:40px; color:var(--ch-budget-ink); font-weight:800; line-height:1.3; text-decoration:none; }
.carhub-budget-card__title:hover { color:var(--ch-budget-blue); }
.carhub-budget-card__price { margin-top:8px; color:var(--ch-budget-blue-dark); font-size:17px; font-weight:900; letter-spacing:-.02em; }

/* Give the price visual priority over the model title on budget listings. */
.carhub-budget-card__title { font-size:14px; }
.carhub-budget-card__price { font-size:20px; }
.carhub-budget-card__specs { margin-top:7px; color:#7a8798; font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.carhub-budget-card__specs span { padding:0 3px; color:#b2bcc9; }
.carhub-budget-card__cta { display:flex; align-items:center; justify-content:space-between; margin-top:13px; padding-top:12px; border-top:1px solid #edf0f4; color:var(--ch-budget-blue); font-size:12px; font-weight:800; text-decoration:none; }
.carhub-budget-load-more-wrap { display:flex; justify-content:center; margin-top:22px; }
.carhub-budget-load-more { min-height:46px; padding:0 22px; border:1px solid #c9dbf8; border-radius:13px; background:#f4f8ff; color:var(--ch-budget-blue); font-weight:800; cursor:pointer; }
.carhub-budget-load-more span { margin-left:7px; color:#7d8da5; font-size:11px; }
.carhub-budget-load-more:hover { border-color:var(--ch-budget-blue); background:#eaf2ff; }
.carhub-budget-load-more:disabled { opacity:.6; cursor:wait; }

.carhub-budget-find { overflow:hidden; border:1px solid var(--ch-budget-border); border-radius:18px; }
.carhub-budget-find__tabs { display:flex; overflow:auto; border-bottom:1px solid var(--ch-budget-border); background:#fbfcfe; }
.carhub-budget-find__tabs button { flex:0 0 auto; min-height:52px; padding:0 17px; border:0; border-bottom:3px solid transparent; background:transparent; color:#66748a; font-weight:800; cursor:pointer; }
.carhub-budget-find__tabs button[aria-selected="true"] { color:var(--ch-budget-blue); border-bottom-color:var(--ch-budget-blue); background:#fff; }
.carhub-budget-find__panel { display:flex; flex-wrap:wrap; gap:10px; padding:20px; }
.carhub-budget-find__panel a { padding:10px 13px; border:1px solid #e0e7f0; border-radius:11px; background:#fff; color:#314057; font-size:13px; font-weight:700; text-decoration:none; }
.carhub-budget-find__panel a:hover,.carhub-budget-find__panel a.is-current { border-color:#bdd2f7; background:var(--ch-budget-blue-soft); color:var(--ch-budget-blue-dark); }

.carhub-budget-gallery { overflow:hidden; border:1px solid #dce5f1; border-radius:20px; background:#0e1724; box-shadow:0 18px 45px rgba(8,25,50,.12); }
.carhub-budget-gallery__main { display:grid; grid-template-columns:58px minmax(0,1fr) 58px; align-items:center; }
.carhub-budget-gallery__image-wrap { position:relative; min-height:390px; background:#101b2b; }
.carhub-budget-gallery__image-wrap img { width:100%; height:390px; display:block; object-fit:cover; }
.carhub-budget-gallery__arrow { width:40px; height:40px; justify-self:center; border:1px solid rgba(255,255,255,.22); border-radius:50%; background:rgba(255,255,255,.1); color:#fff; cursor:pointer; backdrop-filter:blur(10px); z-index:2; }
.carhub-budget-gallery__arrow:hover { background:var(--ch-budget-blue); border-color:var(--ch-budget-blue); }
.carhub-budget-gallery__group,.carhub-budget-gallery__counter { position:absolute; bottom:16px; padding:7px 10px; border-radius:999px; background:rgba(7,15,28,.72); color:#fff; font-size:11px; font-weight:800; backdrop-filter:blur(8px); }
.carhub-budget-gallery__group { left:16px; }
.carhub-budget-gallery__counter { right:16px; }
.carhub-budget-gallery__info { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 20px; color:#fff; }
.carhub-budget-gallery__info strong { font-size:16px; }
.carhub-budget-gallery__info a { color:#9fc3ff; font-size:12px; font-weight:800; text-decoration:none; }
.carhub-budget-gallery__thumbs { display:flex; gap:8px; overflow:auto; padding:0 16px 16px; }
.carhub-budget-gallery__thumbs button { flex:0 0 86px; height:58px; padding:0; overflow:hidden; border:2px solid transparent; border-radius:10px; background:#192638; cursor:pointer; }
.carhub-budget-gallery__thumbs button.is-active { border-color:#5b98ff; }
.carhub-budget-gallery__thumbs img { width:100%; height:100%; object-fit:cover; }

.carhub-budget-brand-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.carhub-budget-brand { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:130px; padding:15px 10px; border:1px solid #e6ebf2; border-radius:16px; background:#fff; color:var(--ch-budget-ink); text-align:center; text-decoration:none; transition:.2s ease; }
.carhub-budget-brand:hover { transform:translateY(-3px); border-color:#c5d9fb; box-shadow:0 12px 28px rgba(23,105,255,.08); }
.carhub-budget-brand__logo { width:58px; height:58px; display:grid; place-items:center; margin-bottom:10px; border-radius:15px; background:#f5f8fc; color:var(--ch-budget-blue); font-size:18px; font-weight:900; }
.carhub-budget-brand__logo img { width:42px; height:42px; object-fit:contain; }
.carhub-budget-brand strong { font-size:12px; }

.carhub-budget-body-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border:1px solid var(--ch-budget-border); border-radius:17px; overflow:hidden; }
.carhub-budget-body-card { min-height:150px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; border-right:1px solid var(--ch-budget-border); border-bottom:1px solid var(--ch-budget-border); color:var(--ch-budget-ink); text-decoration:none; background:#fff; transition:.2s ease; }
.carhub-budget-body-card:hover { background:#f5f9ff; color:var(--ch-budget-blue); }
.carhub-budget-body-card__icon { width:58px; height:38px; display:grid; place-items:center; }
.carhub-budget-body-card__icon svg { width:58px; height:32px; }
.carhub-budget-body-card span:last-child { color:#8a96a7; font-size:11px; }

.carhub-budget-city-tabs { display:flex; gap:8px; overflow:auto; padding-bottom:4px; margin-bottom:18px; }
.carhub-budget-city-tabs button { flex:0 0 auto; min-height:40px; padding:0 14px; border:1px solid #dfe6ef; border-radius:999px; background:#fff; color:#65738a; font-weight:800; cursor:pointer; }
.carhub-budget-city-tabs button.is-active { border-color:var(--ch-budget-blue); background:var(--ch-budget-blue); color:#fff; box-shadow:0 8px 18px rgba(23,105,255,.18); }
.carhub-budget-city-results[aria-busy="true"] { opacity:.55; pointer-events:none; }
.carhub-budget-city-footer { margin-top:20px; text-align:right; }
.carhub-budget-city-footer a { color:var(--ch-budget-blue); font-weight:800; text-decoration:none; }

.carhub-budget-faq { overflow:hidden; border:1px solid var(--ch-budget-border); border-radius:17px; }
.carhub-budget-faq details { border-bottom:1px solid var(--ch-budget-border); }
.carhub-budget-faq details:last-child { border-bottom:0; }
.carhub-budget-faq summary { display:grid; grid-template-columns:36px minmax(0,1fr) 28px; align-items:center; gap:12px; padding:19px 20px; cursor:pointer; list-style:none; font-size:15px; font-weight:800; }
.carhub-budget-faq summary::-webkit-details-marker { display:none; }
.carhub-budget-faq summary span { color:var(--ch-budget-blue); font-size:12px; }
.carhub-budget-faq summary b { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:#f0f5ff; color:var(--ch-budget-blue); font-size:17px; }
.carhub-budget-faq details[open] summary b { transform:rotate(45deg); }
.carhub-budget-faq details > div { padding:0 20px 20px 68px; color:#647187; line-height:1.7; }
.carhub-budget-faq p { margin:0; }
.carhub-budget-empty { padding:28px 10px; color:#77859a; text-align:center; }
.carhub-budget-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; width:min(1180px,calc(100% - 32px)); margin:0 auto; padding:28px 0 42px; border-top:1px solid var(--ch-budget-border); color:#6d7a8e; }
.carhub-budget-footer div { display:flex; flex-direction:column; gap:4px; }
.carhub-budget-footer strong { color:var(--ch-budget-ink); font-size:16px; }
.carhub-budget-footer span { font-size:12px; }
.carhub-budget-footer a { color:var(--ch-budget-blue); font-weight:800; text-decoration:none; }

@media (max-width: 1000px) {
    .carhub-budget-hero { grid-template-columns:1fr; }
    .carhub-budget-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .carhub-budget-grid--latest { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .carhub-budget-brand-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .carhub-budget-body-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

@media (max-width: 700px) {
    .carhub-budget__main { width:min(100% - 18px,1180px); padding-top:10px; }
    .carhub-budget-panel { padding:18px; border-radius:18px; }
    .carhub-budget-hero { padding:28px 20px; border-radius:22px; }
    .carhub-budget-hero h1 { font-size:36px; }
    .carhub-budget-hero p { font-size:14px; }
    .carhub-budget-stats strong { font-size:16px; }
    .carhub-budget-section-heading { align-items:flex-start; flex-direction:column; }
    .carhub-budget-sort { align-self:stretch; justify-content:space-between; }
    .carhub-budget-sort select { flex:1; }
    .carhub-budget-grid,.carhub-budget-grid--latest { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .carhub-budget-card__body { padding:12px; }
    .carhub-budget-card__title { min-height:0; font-size:12px; }
    .carhub-budget-card__price { font-size:16px; }
    .carhub-budget-card__specs { font-size:10px; }
    .carhub-budget-brand-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
    .carhub-budget-brand { min-height:105px; padding:10px 6px; }
    .carhub-budget-brand__logo { width:46px; height:46px; }
    .carhub-budget-body-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .carhub-budget-body-card { min-height:125px; }
    .carhub-budget-gallery__main { grid-template-columns:42px minmax(0,1fr) 42px; }
    .carhub-budget-gallery__image-wrap,.carhub-budget-gallery__image-wrap img { min-height:240px; height:240px; }
    .carhub-budget-gallery__arrow { width:34px; height:34px; }
    .carhub-budget-faq summary { grid-template-columns:28px minmax(0,1fr) 28px; padding:16px 14px; font-size:13px; }
    .carhub-budget-faq details > div { padding:0 14px 16px 56px; font-size:13px; }
    .carhub-budget-footer { width:min(100% - 18px,1180px); }
}


/* ==========================================================================
   BUDGET SINGLE — BODY TYPE DESIGN SYSTEM ALIGNMENT
   ========================================================================== */

/* Hero is intentionally editorial and button-free, matching the body-type
   discovery pages rather than using the older promotional treatment. */
.carhub-budget-hero {
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    gap: 28px;
    padding: 42px;
}

.carhub-budget-hero h1 {
    max-width: 800px;
    color: var(--ch-budget-ink);
    font-size: clamp(30px, 4vw, 46px);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -.035em;
}

.carhub-budget-hero p {
    max-width: 720px;
    margin: 18px 0 0;
    color: var(--ch-budget-muted);
    font-size: 16px;
    line-height: 1.7;
}

.carhub-budget-hero-card {
    align-self: center;
    padding: 24px;
}

.carhub-budget-hero-card__top strong {
    font-size: 24px;
    font-weight: 500;
}

.carhub-budget-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.carhub-budget-stats div {
    min-height: 58px;
    padding: 11px 12px;
}

.carhub-budget-stats strong {
    font-size: 18px;
    font-weight: 500;
}

.carhub-budget-stats span {
    font-size: 11px;
    font-weight: 400;
}

/* Same restrained section-heading treatment used by Body Type. */
.carhub-budget-section-heading {
    align-items: flex-end;
    margin-bottom: 20px;
}

.carhub-budget-section-heading h2 {
    margin: 0;
    color: var(--ch-budget-ink);
    font-size: clamp(20px, 2.35vw, 25px);
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: -.02em;
}

.carhub-budget-section-heading p {
    color: var(--ch-budget-muted);
    font-size: 14px;
    line-height: 1.6;
}

.carhub-budget-section-eyebrow {
    margin-bottom: 9px;
    color: var(--ch-budget-blue);
    font-size: 11px;
    font-weight: 800;
}

/* The price guide is now a normal discovery card after Find the right car. */
.carhub-budget-intro .carhub-budget-section-meta {
    display: none;
}

.carhub-budget-details {
    margin-top: 18px;
}

.carhub-budget-details summary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--ch-budget-blue);
    font-size: 14px;
    font-weight: 600;
}

.carhub-budget-details summary span {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    display: inline-grid;
    place-items: center;
    border: 1px solid rgba(23, 105, 255, .45);
    border-radius: 50%;
    background: #fff;
    color: var(--ch-budget-blue);
    font-size: 19px;
    line-height: 1;
}

/* One vehicle per row on the Budget page, using the Body Type card proportions. */
.carhub-budget-grid,
.carhub-budget-grid--latest {
    grid-template-columns: 1fr;
    gap: 12px;
}

.carhub-budget-card {
    overflow: hidden;
    border: 1px solid var(--ch-budget-border);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 4px 18px rgba(15, 23, 42, .05);
}

.carhub-budget-card:hover {
    transform: translateY(-2px);
    border-color: var(--ch-budget-border);
    box-shadow: 0 10px 28px rgba(15, 23, 42, .09);
}

.carhub-budget-card__media {
    aspect-ratio: 16 / 8.8;
    background: #fff;
}

.carhub-budget-card__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center center;
    background: #fff;
}

.carhub-budget-card:hover .carhub-budget-card__media img {
    transform: none;
}

.carhub-budget-card__badge {
    top: 10px;
    left: 10px;
    padding: 5px 9px;
    color: var(--ch-budget-ink);
    font-size: 10px;
    font-weight: 800;
}

.carhub-budget-card__body {
    padding: 11px 10px 12px;
}

.carhub-budget-card__title {
    min-height: 0;
    color: var(--ch-budget-ink);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
}

.carhub-budget-card__price {
    margin-top: 7px;
    color: var(--ch-budget-ink);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
}

.carhub-budget-card__specs {
    min-height: 20px;
    margin-top: 7px;
    color: #536174;
    font-size: 12.5px;
    font-weight: 500;
    line-height: 1.45;
}

.carhub-budget-card__specs span {
    color: #9aa7b8;
}

.carhub-budget-card__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    margin-top: 11px;
    padding: 0;
    border: 1px solid var(--ch-budget-blue);
    border-radius: 9px;
    background: #fff;
    color: var(--ch-budget-blue);
    font-size: 15px;
    font-weight: 650;
    text-decoration: none;
    transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.carhub-budget-card__cta:hover,
.carhub-budget-card__cta:focus,
.carhub-budget-card__cta:active {
    border-color: var(--ch-budget-blue);
    background: var(--ch-budget-blue);
    color: #fff;
}

/* Find-the-right-car: only the selected tab's panel is visible. */
.carhub-budget-find__panel[hidden] {
    display: none !important;
}

.carhub-budget-find__tabs button {
    font-size: 13px;
    font-weight: 700;
}

.carhub-budget-find__panel a {
    min-height: 42px;
    padding: 0 16px;
    color: var(--ch-budget-ink);
    font-size: 14px;
    font-weight: 400;
}

.carhub-budget-find__panel a:hover,
.carhub-budget-find__panel a.is-current {
    color: var(--ch-budget-blue);
}

/* Compact city controls. */
.carhub-budget-city-tabs {
    gap: 7px;
}

.carhub-budget-city-tabs button {
    min-height: 36px;
    padding: 0 12px;
    font-size: 12px;
    font-weight: 600;
}

.carhub-budget-city-footer {
    text-align: left;
}

.carhub-budget-city-footer a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--ch-budget-blue);
    font-size: 14px;
    font-weight: 700;
}

/* Keep discovery cards and FAQ typography in the same hierarchy. */
.carhub-budget-faq summary {
    font-size: 16px;
    font-weight: 400;
}

.carhub-budget-faq summary b {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(23, 105, 255, .28);
    border-radius: 50%;
    background: #fff;
    color: var(--ch-budget-blue);
    font-size: 20px;
    line-height: 30px;
    text-align: center;
}

/* The old Load More button now follows the Body Type outline treatment. */
.carhub-budget-load-more {
    min-width: 180px;
    min-height: 44px;
    padding: 0 20px;
    border: 1px solid var(--ch-budget-blue);
    border-radius: 10px;
    background: #fff;
    color: var(--ch-budget-blue);
    font-size: 14px;
    font-weight: 700;
}

.carhub-budget-load-more:hover:not(:disabled) {
    background: var(--ch-budget-blue);
    color: #fff;
}

@media (max-width: 700px) {
    .carhub-budget-hero {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 28px 20px;
    }

    .carhub-budget-hero h1 {
        font-size: 30px;
        font-weight: 500;
        line-height: 1.08;
    }

    .carhub-budget-hero p {
        font-size: 14px;
        line-height: 1.7;
    }

    .carhub-budget-hero-card {
        padding: 18px;
    }

    .carhub-budget-hero-card__top strong {
        font-size: 20px;
    }

    .carhub-budget-section-heading h2 {
        font-size: 20px;
        font-weight: 500;
    }

    .carhub-budget-card__media {
        aspect-ratio: 16 / 8.8;
    }

    .carhub-budget-card__body {
        padding: 11px 10px 12px;
    }

    .carhub-budget-card__title {
        font-size: 16px;
        font-weight: 600;
    }

    .carhub-budget-card__price {
        font-size: 18px;
        font-weight: 700;
    }

    .carhub-budget-card__specs {
        font-size: 12.5px;
    }

    .carhub-budget-card__cta {
        min-height: 40px;
        font-size: 15px;
        font-weight: 650;
    }

    .carhub-budget-find__tabs button {
        font-size: 13px;
        font-weight: 700;
    }

    .carhub-budget-find__panel a {
        min-height: 40px;
        padding: 0 12px;
        font-size: 14px;
        font-weight: 400;
    }

    .carhub-budget-city-tabs button {
        min-height: 34px;
        padding: 0 11px;
        font-size: 11px;
    }

    .carhub-budget-faq summary {
        font-size: 16px;
        font-weight: 400;
    }
}


/* ==========================================================================
   BUDGET SINGLE — FINAL BODY-TYPE PARITY / MOBILE POLISH
   ========================================================================== */

/* Keep every section heading editorial, left-aligned and restrained. */
.carhub-budget-section-heading,
.carhub-budget-section-heading > div {
    text-align: left;
}

.carhub-budget-section-heading {
    align-items: flex-start;
}

.carhub-budget-section-heading h2 {
    font-size: clamp(20px, 2.2vw, 24px);
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: -.02em;
}

.carhub-budget-section-eyebrow {
    color: var(--ch-budget-blue);
}

/* Price-band stat labels are clearer and slightly larger. */
.carhub-budget-stats span {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
}

/* All filter options use the same centered, regular-weight treatment. */
.carhub-budget-find__panel {
    align-items: center;
}

.carhub-budget-find__panel a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 15px;
    text-align: center;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.2;
}

.carhub-budget-find__tabs button {
    font-size: 14px;
    font-weight: 700;
}

/* Vehicle card: match the Body Type image treatment — no cropping/zooming. */
.carhub-budget-grid,
.carhub-budget-grid--latest,
.carhub-budget-city-results {
    grid-template-columns: 1fr !important;
    gap: 12px;
}

.carhub-budget-card__media {
    aspect-ratio: 16 / 10;
    background: #fff;
}

.carhub-budget-card__media img {
    object-fit: cover;
    object-position: center center;
    transform: none !important;
}

.carhub-budget-card__title {
    font-size: 17px;
    font-weight: 600;
}

.carhub-budget-card__price {
    font-size: 18px;
    font-weight: 700;
}

.carhub-budget-card__specs {
    color: #536174;
    font-size: 13px;
    font-weight: 500;
}

.carhub-budget-card__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 40px;
    margin-top: 12px;
    padding: 0;
    box-sizing: border-box;
    border: 1px solid var(--ch-budget-blue);
    border-radius: 9px;
    background: #fff !important;
    color: var(--ch-budget-blue) !important;
    font-size: 17px;
    font-weight: 450;
    line-height: 1;
    text-decoration: none;
    transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.carhub-budget-card__cta:hover {
    border-color: var(--ch-budget-blue);
    background: #fff;
    color: var(--ch-budget-blue);
}

.carhub-budget-card__cta:focus,
.carhub-budget-card__cta:active {
    border-color: var(--ch-budget-blue);
    background: var(--ch-budget-blue);
    color: #fff;
}

/* Full-width media viewer. */
.carhub-budget-gallery__main {
    position: relative;
    display: block;
    min-height: 430px;
}

.carhub-budget-gallery__image-wrap {
    width: 100%;
    height: 430px;
}

.carhub-budget-gallery__image-wrap img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center center;
    background: #101b2b;
}

.carhub-budget-gallery__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    background: rgba(15, 23, 42, .78);
}

.carhub-budget-gallery__arrow:first-child { left: 14px; }
.carhub-budget-gallery__arrow:last-child { right: 14px; }

.carhub-budget-gallery__thumbs button.is-active {
    border-color: var(--ch-budget-blue);
}

/* Premium automotive body-type silhouettes. */
.carhub-budget-body-card__icon {
    width: 64px;
    height: 40px;
    color: #172235;
}

.carhub-budget-body-card__icon svg {
    width: 64px;
    height: 34px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.carhub-budget-body-card__icon img {
    width: 64px;
    height: 40px;
    display: block;
    object-fit: contain;
    object-position: center;
    border: 0;
}

.carhub-budget-body-card:hover .carhub-budget-body-card__icon {
    color: var(--ch-budget-blue);
}

.carhub-budget-body-card strong {
    font-size: 14px;
    font-weight: 400;
}

/* FAQ questions stay regular-weight; linked dynamic models are blue. */
.carhub-budget-faq summary {
    font-size: 16px;
    font-weight: 400;
}

.carhub-budget-faq details > div {
    font-size: 14px;
}

.carhub-budget-faq details > div a {
    color: var(--ch-budget-blue);
    font-weight: 600;
    text-decoration: none;
}

.carhub-budget-faq details > div a:hover {
    text-decoration: underline;
}

/* Compact city controls. */
.carhub-budget-city-tabs button {
    min-height: 36px;
    padding: 0 12px;
    font-size: 12px;
    font-weight: 600;
}

.carhub-budget-city-footer {
    text-align: left;
}

.carhub-budget-city-footer a {
    color: var(--ch-budget-blue);
}

@media (max-width: 700px) {
    .carhub-budget-section-heading h2 {
        font-size: 20px;
        font-weight: 400;
    }

    .carhub-budget-card__media {
        aspect-ratio: 16 / 10;
    }

    .carhub-budget-card__title {
        font-size: 17px;
        font-weight: 600;
    }

    .carhub-budget-card__price {
        font-size: 18px;
        font-weight: 700;
    }

    .carhub-budget-card__specs {
        font-size: 13px;
    }

    .carhub-budget-card__cta {
        min-height: 42px;
        font-size: 15px;
        font-weight: 600;
    }

    .carhub-budget-find__panel a {
        min-height: 42px;
        padding: 0 14px;
        font-size: 15px;
        font-weight: 400;
    }

    .carhub-budget-gallery__main {
        min-height: 300px;
    }

    .carhub-budget-gallery__image-wrap {
        height: 300px;
    }

    .carhub-budget-body-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .carhub-budget-body-card {
        min-height: 125px;
    }

    .carhub-budget-faq summary {
        font-size: 16px;
        font-weight: 400;
    }
}


/* Inline SEO price guide: reuse the existing budget hero instead of adding a card. */
.carhub-budget-hero .carhub-seo-inline {
    max-width: 760px;
}
.carhub-budget-hero .carhub-seo-inline__short,
.carhub-budget-hero .carhub-seo-inline__full {
    color: #56657a;
    font-size: 17px;
    line-height: 1.72;
}

/* ==========================================================
   Budget pages — shared homepage header spacing
   The shared header is fixed and the .carhub-home root already
   reserves its height. Do not reserve the header twice.
========================================================== */
body.carhub-budget-body .carhub-home > .carhub-global-header {
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
}

body.carhub-budget-body .carhub-budget__main {
    padding-top: 10px;
}

@media (min-width: 641px) {
    body.carhub-budget-body .carhub-budget__main {
        padding-top: 18px;
    }
}



/* Used-condition budget pages: show the complete source vehicle image
   inside the media box without cropping. */
.carhub-budget--used .carhub-budget-card__media img{
    width:100% !important;
    height:100% !important;
    display:block !important;
    object-fit:contain !important;
    object-position:center center !important;
    padding:0 !important;
    background:#fff !important;
    transform:none !important;
}

.carhub-budget--used .carhub-budget-card:hover .carhub-budget-card__media img{
    transform:none !important;
}

/* ================================================================
   USED BUDGET PAGES — FULL IMAGE WIDTH
   Used-condition cards must fill the entire media box. The previous
   used-only contain rule created visible white space on both sides.
================================================================ */
.carhub-budget.carhub-budget--used .carhub-budget-card__media img,
.carhub-budget--used .carhub-budget-card__media img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center center !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    transform: none !important;
}
