/* Ndovu Car Prices 1.3.0 — every selector belongs to this component.
   Do not target the theme, Elementor containers, archive filters or footer. */
.ncp-prices {
    --ncp-ink:#172333; --ncp-muted:#566477; --ncp-accent:#164d9d;
    --ncp-line:#e0e6ee; --ncp-soft:#f5f7fa; --ncp-hover:#f0f5fc;
    position:relative; margin:40px 0; width:100%; min-width:0; max-width:100%; color:var(--ncp-ink);
    font:inherit; text-align:left;
}
.ncp-prices, .ncp-prices *, .ncp-prices *::before, .ncp-prices *::after { box-sizing:border-box; }
.ncp-prices.ncp-editorial { margin:0 0 48px; }
.ncp-prices [hidden] { display:none !important; }
.ncp-prices h2 { margin:0 0 14px; color:inherit; font-size:clamp(23px,3vw,32px); line-height:1.25; }
.ncp-prices h3 { margin:0; color:inherit; font-size:clamp(19px,2vw,23px); line-height:1.35; }
.ncp-prices p { margin:12px 0; line-height:1.65; }
.ncp-prices .ncp-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:22px 0 10px; }
.ncp-prices .ncp-summary > div { min-width:0; padding:16px 18px; background:var(--ncp-soft); border:1px solid var(--ncp-line); border-radius:10px; }
.ncp-prices .ncp-summary dt { font-size:13px; color:var(--ncp-muted); font-weight:400; }
.ncp-prices .ncp-summary dd { margin:6px 0 0; font-size:clamp(18px,2.1vw,24px); line-height:1.3; font-weight:600; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.ncp-prices .ncp-popular { font-size:14px; line-height:1.8; margin:20px 0; }
.ncp-prices .ncp-popular strong { display:block; margin-bottom:5px; }
.ncp-prices a { color:var(--ncp-accent); text-decoration:underline; text-underline-offset:3px; }
.ncp-prices a:hover { color:#10396f; }
.ncp-prices .ncp-table-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 20px; margin:26px 0 14px; }
.ncp-prices .ncp-table-tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; font-size:12px; line-height:1.4; color:var(--ncp-muted); }
.ncp-prices .ncp-table-count { display:inline-block; padding:5px 9px; border:1px solid var(--ncp-line); border-radius:6px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.ncp-prices .ncp-sort-help { white-space:nowrap; }
.ncp-prices .ncp-reset-order {
    display:inline-flex; align-items:center; min-height:32px; padding:4px 7px; margin:0;
    border:0; border-radius:4px; background:transparent; color:var(--ncp-accent);
    box-shadow:none; font:inherit; text-transform:none; letter-spacing:normal;
    text-decoration:underline; text-underline-offset:3px; cursor:pointer;
}
.ncp-prices .ncp-scroll {
    position:relative; width:100%; min-width:0; max-width:100%; overflow-x:auto;
    border:1px solid var(--ncp-line); border-radius:12px; background:#fff;
    overscroll-behavior-x:contain; isolation:isolate; -webkit-overflow-scrolling:touch;
    scrollbar-width:thin; scrollbar-color:#a5b5c8 #f3f6fa;
}
.ncp-prices .ncp-scroll:focus-visible, .ncp-prices a:focus-visible, .ncp-prices button:focus-visible {
    outline:3px solid var(--ncp-accent); outline-offset:3px;
}
.ncp-prices .ncp-scroll:focus-visible { outline-offset:2px; }
.ncp-prices .ncp-table {
    width:100%; min-width:800px; margin:0; table-layout:fixed; border-collapse:separate; border-spacing:0;
    border:0; color:var(--ncp-ink); font-family:inherit; font-size:14px; line-height:1.5;
}
.ncp-prices .ncp-table th, .ncp-prices .ncp-table td {
    padding:12px 16px; margin:0; border:0; border-bottom:1px solid var(--ncp-line);
    text-align:left; vertical-align:middle; background:var(--ncp-row-bg,#fff);
    white-space:nowrap; font-variant-numeric:tabular-nums;
}
.ncp-prices .ncp-table thead th { background:#eef2f7; color:#38485e; font-size:12px; font-weight:600; white-space:normal; }
.ncp-prices .ncp-table .ncp-identity { width:22%; white-space:normal; overflow-wrap:anywhere; }
.ncp-prices .ncp-table .ncp-year-cell { width:15%; }
.ncp-prices .ncp-table .ncp-price-cell { width:20%; text-align:right; }
.ncp-prices .ncp-table .ncp-range-cell { width:28%; text-align:right; }
.ncp-prices .ncp-table .ncp-availability-cell { width:15%; text-align:right; }
.ncp-prices .ncp-table tbody th { font-weight:600; }
.ncp-prices .ncp-table .ncp-identity { position:sticky; left:0; z-index:1; border-right:1px solid var(--ncp-line); }
.ncp-prices .ncp-table thead .ncp-identity { z-index:2; }
.ncp-prices .ncp-scroll.ncp-is-scrolled .ncp-identity { box-shadow:8px 0 12px -10px #6c809d; }
.ncp-prices .ncp-table tbody tr:nth-child(even) { --ncp-row-bg:#fafbfd; }
.ncp-prices .ncp-table tbody tr:hover, .ncp-prices .ncp-table tbody tr:focus-within { --ncp-row-bg:var(--ncp-hover); }
.ncp-prices .ncp-table tbody tr:last-child > * { border-bottom:0; }
.ncp-prices .ncp-table .ncp-identity a { display:inline-block; padding:4px 0; color:var(--ncp-ink); text-decoration:none; }
.ncp-prices .ncp-table .ncp-identity a:hover, .ncp-prices .ncp-table .ncp-identity a:focus-visible { color:var(--ncp-accent); text-decoration:underline; }
.ncp-prices .ncp-table .ncp-identity a:focus-visible { outline-offset:1px; }
.ncp-prices .ncp-price-cell .ncp-number { font-size:15px; font-weight:600; }
.ncp-prices .ncp-currency { color:var(--ncp-muted); font-size:11px; font-weight:400; }
.ncp-prices .ncp-price-cell .ncp-currency, .ncp-prices .ncp-range-cell .ncp-currency { display:inline; line-height:1.3; margin-right:3px; }
.ncp-prices .ncp-number { white-space:nowrap; }
.ncp-prices .ncp-range-cell .ncp-number { font-size:13px; }
.ncp-prices .ncp-price-note { display:block; margin-bottom:3px; color:var(--ncp-muted); font-size:11px; line-height:1.35; }
.ncp-prices .ncp-unit, .ncp-prices .ncp-missing { color:var(--ncp-muted); }
.ncp-prices .ncp-availability-link, .ncp-prices .ncp-view-link {
    display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:6px 10px;
    background:#edf3fc; color:var(--ncp-accent); border:1px solid #d9e5f5; border-radius:6px;
    font-size:12px; font-weight:600; line-height:1.4; text-decoration:none; white-space:nowrap;
}
.ncp-prices .ncp-availability-link:hover, .ncp-prices .ncp-view-link:hover { background:#e0ecfb; color:#10396f; text-decoration:none; }
.ncp-prices .ncp-table.ncp-listings-table { min-width:840px; }
.ncp-prices .ncp-listings-table .ncp-identity { width:28%; }
.ncp-prices .ncp-listings-table .ncp-year-cell { width:9%; }
.ncp-prices .ncp-listings-table .ncp-fuel { width:12%; }
.ncp-prices .ncp-listings-table .ncp-mileage-cell { width:15%; text-align:right; }
.ncp-prices .ncp-listings-table .ncp-price-cell { width:22%; }
.ncp-prices .ncp-listings-table .ncp-view-cell { width:14%; text-align:right; }
.ncp-prices .ncp-table thead th.ncp-sortable { padding:0; }
.ncp-prices .ncp-sort-button {
    display:flex; align-items:center; justify-content:inherit; gap:6px; width:100%; min-height:52px;
    margin:0; padding:12px 16px; border:0; border-radius:0; box-shadow:none; background:transparent;
    color:inherit; font:inherit; line-height:1.45; letter-spacing:normal; text-align:inherit;
    text-decoration:none; text-transform:none; white-space:normal; cursor:pointer;
}
.ncp-prices .ncp-price-cell .ncp-sort-button, .ncp-prices .ncp-range-cell .ncp-sort-button,
.ncp-prices .ncp-availability-cell .ncp-sort-button, .ncp-prices .ncp-mileage-cell .ncp-sort-button { justify-content:flex-end; }
.ncp-prices .ncp-sort-button:hover { background:#e2eaf4; color:var(--ncp-accent); }
.ncp-prices .ncp-sort-button:focus-visible { position:relative; outline-offset:-3px; }
.ncp-prices .ncp-sort-icon { flex:0 0 auto; color:var(--ncp-muted); font-size:13px; }
.ncp-prices .ncp-table th[aria-sort] { background:#e4edf9; color:var(--ncp-accent); }
.ncp-prices .ncp-table th[aria-sort] .ncp-sort-icon { color:inherit; }
.ncp-prices .ncp-scroll-hint { display:none; margin:0 0 10px; color:var(--ncp-muted); font-size:12px; line-height:1.5; }
.ncp-prices .ncp-scroll-hint > span { padding-right:5px; font-size:16px; }
.ncp-prices.ncp-enhanced .ncp-scroll-hint:not([hidden]) { display:block; }
.ncp-prices .ncp-table-footer { margin-top:10px; }
.ncp-prices .ncp-table-note { margin:0; color:var(--ncp-muted); font-size:12px; line-height:1.6; }
.ncp-prices .ncp-sr-only {
    position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important;
    overflow:hidden !important; clip:rect(0,0,0,0) !important; clip-path:inset(50%) !important;
    white-space:nowrap !important; border:0 !important;
}
@media (max-width:1000px) {
    .ncp-prices .ncp-scroll-hint { display:block; }
}
@media (max-width:760px) {
    .ncp-prices { font-size:14px; }
    .ncp-prices .ncp-summary { gap:8px; }
    .ncp-prices .ncp-summary > div { padding:12px; }
    .ncp-prices .ncp-summary dt { font-size:12px; }
    .ncp-prices .ncp-summary dd { font-size:18px; }
    .ncp-prices .ncp-table-heading { margin-top:22px; gap:10px; }
    .ncp-prices .ncp-table { min-width:740px; font-size:13px; }
    .ncp-prices .ncp-table th, .ncp-prices .ncp-table td { padding:12px; }
    .ncp-prices .ncp-table .ncp-identity { width:152px; }
    .ncp-prices .ncp-table .ncp-year-cell { width:109px; }
    .ncp-prices .ncp-table .ncp-price-cell { width:142px; }
    .ncp-prices .ncp-table .ncp-range-cell { width:219px; }
    .ncp-prices .ncp-table .ncp-availability-cell { width:118px; }
    .ncp-prices .ncp-sort-button { min-height:54px; padding:10px 12px; gap:4px; }
    .ncp-prices .ncp-table.ncp-listings-table { min-width:748px; }
    .ncp-prices .ncp-listings-table .ncp-identity { width:152px; }
    .ncp-prices .ncp-listings-table .ncp-year-cell { width:72px; }
    .ncp-prices .ncp-listings-table .ncp-fuel { width:110px; }
    .ncp-prices .ncp-listings-table .ncp-mileage-cell { width:140px; }
    .ncp-prices .ncp-listings-table .ncp-price-cell { width:152px; }
    .ncp-prices .ncp-listings-table .ncp-view-cell { width:122px; }
    .ncp-prices .ncp-price-cell .ncp-currency, .ncp-prices .ncp-range-cell .ncp-currency { display:block; margin:0 0 3px; }
}
@media (max-width:480px) {
    .ncp-prices .ncp-summary { grid-template-columns:1fr; gap:7px; }
    .ncp-prices .ncp-summary > div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 13px; }
    .ncp-prices .ncp-summary dt { font-size:13px; }
    .ncp-prices .ncp-summary dd { margin:0; text-align:right; font-size:18px; }
    .ncp-prices .ncp-table-tools { width:100%; }
}
/* Keep the identity and full asking price visible together even at 320px. */
@media (max-width:380px) {
    .ncp-prices .ncp-table .ncp-identity { width:132px; }
    .ncp-prices .ncp-table .ncp-price-cell { width:140px; }
    .ncp-prices .ncp-groups-table .ncp-range-cell { width:241px; }
    .ncp-prices .ncp-listings-table .ncp-fuel { width:142px; }
}
@media (prefers-reduced-motion:reduce) {
    .ncp-prices * { scroll-behavior:auto; transition:none; animation:none; }
}
@media (forced-colors:active) {
    .ncp-prices .ncp-scroll, .ncp-prices .ncp-table th, .ncp-prices .ncp-table td,
    .ncp-prices .ncp-availability-link, .ncp-prices .ncp-view-link { border-color:CanvasText; }
    .ncp-prices .ncp-sort-icon { color:ButtonText; }
}
@media print {
    .ncp-prices .ncp-scroll { overflow:visible; border-radius:0; }
    .ncp-prices .ncp-table, .ncp-prices .ncp-table.ncp-listings-table { width:100%; min-width:0; table-layout:auto; font-size:10px; }
    .ncp-prices .ncp-table .ncp-identity { position:static; width:auto; box-shadow:none; }
    .ncp-prices .ncp-table th, .ncp-prices .ncp-table td { padding:7px; width:auto; }
    .ncp-prices .ncp-sort-button { min-height:0; padding:7px; }
    .ncp-prices .ncp-scroll-hint, .ncp-prices .ncp-table-tools, .ncp-prices .ncp-sort-icon { display:none !important; }
    .ncp-prices .ncp-number { font-size:10px; white-space:normal; }
}

/* 1.4.0 budget cards. These rules never select a theme container or archive filter. */
.ncp-prices .ncp-budget { margin-top:32px; padding-top:28px; border-top:1px solid var(--ncp-line); min-width:0; }
.ncp-prices .ncp-budget-heading { display:flex; flex-wrap:wrap; gap:8px 20px; align-items:center; justify-content:space-between; }
.ncp-prices .ncp-budget-total { color:var(--ncp-muted); font-size:12px; white-space:nowrap; }
.ncp-prices .ncp-budget-intro { margin:8px 0 20px; color:var(--ncp-muted); font-size:14px; }
.ncp-prices .ncp-budget-basis { margin:20px 0 26px; min-width:0; }
.ncp-prices .ncp-budget-basis > h4 { margin:0; color:var(--ncp-ink); font:inherit; font-weight:600; font-size:15px; line-height:1.5; }
.ncp-prices .ncp-budget-basis-note { margin:4px 0 14px; font-size:12px; color:var(--ncp-muted); line-height:1.55; }
.ncp-prices .ncp-budget-grid {
    display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:16px;
    min-width:0; max-width:100%; scroll-padding-inline:2px;
}
.ncp-prices .ncp-budget-grid[data-card-count="1"] { grid-template-columns:minmax(0,1fr); max-width:480px; }
.ncp-prices .ncp-budget-grid[data-card-count="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ncp-prices .ncp-budget-card {
    min-width:0; padding:20px; margin:0; border:1px solid var(--ncp-line); border-radius:12px;
    background:#fff; color:var(--ncp-ink); scroll-snap-align:start; box-shadow:none;
}
.ncp-prices .ncp-budget-card > .ncp-budget-card-heading { margin:0 0 4px; padding:0; background:transparent; position:static; width:auto; height:auto; }
.ncp-prices .ncp-budget-card h5 { margin:0 0 7px; padding:0; color:var(--ncp-ink); font:inherit; font-size:18px; line-height:1.4; font-weight:650; overflow-wrap:anywhere; }
.ncp-prices .ncp-budget-count { display:inline-block; font-size:12px; line-height:1.4; color:var(--ncp-accent); font-weight:600; }
.ncp-prices .ncp-budget-list { display:block; list-style:none; margin:0; padding:0; }
.ncp-prices .ncp-budget-vehicle { display:block; margin:0; padding:15px 0; list-style:none; border:0; border-bottom:1px solid var(--ncp-line); }
.ncp-prices .ncp-budget-vehicle:last-child { border-bottom:0; }
.ncp-prices .ncp-budget-list > li::before { content:none; }
.ncp-prices .ncp-budget-car-link, .ncp-prices .ncp-budget-car-name { display:block; color:var(--ncp-ink); font-size:14px; font-weight:600; line-height:1.5; text-decoration:none; overflow-wrap:anywhere; }
.ncp-prices .ncp-budget-car-link:hover { color:var(--ncp-accent); text-decoration:underline; }
.ncp-prices .ncp-budget-price { display:block; margin-top:5px; font-size:16px; font-weight:650; font-variant-numeric:tabular-nums; line-height:1.4; overflow-wrap:anywhere; }
.ncp-prices .ncp-budget-meta { display:block; margin-top:4px; color:var(--ncp-muted); font-size:12px; font-weight:400; line-height:1.5; overflow-wrap:anywhere; }
.ncp-prices .ncp-budget-actions { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:8px; padding-top:10px; border-top:1px solid var(--ncp-line); }
.ncp-prices .ncp-budget-showing { font-size:12px; line-height:1.5; color:var(--ncp-muted); font-variant-numeric:tabular-nums; }
.ncp-prices .ncp-budget-more, .ncp-prices .ncp-budget-less {
    display:inline-flex; justify-content:center; align-items:center; min-height:40px; margin:0; padding:8px 12px;
    border:1px solid #d9e5f5; border-radius:7px; background:#edf3fc; color:var(--ncp-accent); box-shadow:none;
    font:inherit; font-size:12px; line-height:1.4; font-weight:600; text-transform:none; letter-spacing:normal; cursor:pointer;
}
.ncp-prices .ncp-budget-less { background:transparent; border-color:var(--ncp-line); }
.ncp-prices .ncp-budget-more:hover, .ncp-prices .ncp-budget-less:hover { background:#e0ecfb; color:#10396f; }
.ncp-prices .ncp-budget-more:disabled, .ncp-prices .ncp-budget-less:disabled { opacity:.65; cursor:wait; }
.ncp-prices .ncp-budget-status { font-size:12px; line-height:1.5; color:var(--ncp-muted); margin:10px 0 0; }
.ncp-prices .ncp-budget-status:empty { display:none; }
.ncp-prices .ncp-budget-noscript { font-size:12px; color:var(--ncp-muted); margin:10px 0 0; }
.ncp-prices .ncp-budget-grid:focus-visible { outline:3px solid var(--ncp-accent); outline-offset:3px; }
@media (min-width:701px) and (max-width:1050px) {
    .ncp-prices .ncp-budget-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
    .ncp-prices .ncp-budget { margin-top:26px; padding-top:22px; }
    .ncp-prices .ncp-budget-grid,
    .ncp-prices .ncp-budget-grid[data-card-count="2"] {
        display:flex; grid-template-columns:none;
        gap:12px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; padding:3px 2px 12px;
        scrollbar-width:thin; scrollbar-color:#a5b5c8 #f3f6fa; -webkit-overflow-scrolling:touch;
    }
    .ncp-prices .ncp-budget-grid[data-card-count="1"] { display:grid; grid-template-columns:minmax(0,1fr); }
    .ncp-prices .ncp-budget-card { flex:0 0 calc(100% - 26px); padding:17px; }
    .ncp-prices .ncp-budget-more, .ncp-prices .ncp-budget-less { min-height:44px; }
}
@media print {
    .ncp-prices .ncp-budget-grid, .ncp-prices .ncp-budget-grid[data-card-count] { display:block; overflow:visible; max-width:none; }
    .ncp-prices .ncp-budget-card { break-inside:avoid; margin-bottom:12px; }
    .ncp-prices .ncp-budget-actions, .ncp-prices .ncp-budget-status, .ncp-prices .ncp-budget-noscript { display:none; }
}
