.jdmip-inventory{--b:#e3e6e8;--t:#1f2933;--m:#66717d;--s:#fff;--soft:#f5f7f8;--a:#e56b1f;width:100%;color:var(--t)}.jdmip-toolbar{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(150px,1fr)) auto;gap:12px;margin:0 0 20px;padding:16px;border:1px solid var(--b);border-radius:12px;background:var(--soft)}.jdmip-field input,.jdmip-field select{box-sizing:border-box;width:100%;min-height:44px;margin:0;padding:9px 12px;border:1px solid #cbd2d8;border-radius:7px;background:#fff;color:var(--t);font:inherit}.jdmip-field input:focus,.jdmip-field select:focus{border-color:var(--a);outline:2px solid rgba(229,107,31,.22);outline-offset:1px}.jdmip-reset,.jdmip-load-more{min-height:44px;padding:9px 18px;border:1px solid var(--t);border-radius:7px;background:var(--t);color:#fff;cursor:pointer;font:inherit;font-weight:700}.jdmip-reset:hover,.jdmip-load-more:hover{opacity:.88}.jdmip-results-bar{display:flex;justify-content:flex-end;min-height:28px;margin-bottom:10px}.jdmip-count{margin:0;color:var(--m);font-size:14px}.jdmip-status{padding:32px 20px;border:1px dashed var(--b);border-radius:10px;text-align:center;color:var(--m)}.jdmip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.jdmip-card{min-width:0;overflow:hidden;border:1px solid var(--b);border-radius:12px;background:var(--s);box-shadow:0 4px 18px rgba(20,29,38,.08);transition:transform .18s ease,box-shadow .18s ease}.jdmip-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(20,29,38,.12)}.jdmip-card__image-wrap{position:relative;aspect-ratio:4/3;overflow:hidden;background:#e8ecef}.jdmip-card__image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.jdmip-card:hover .jdmip-card__image{transform:scale(1.02)}.jdmip-card__placeholder{display:grid;place-items:center;width:100%;height:100%;color:var(--m);font-size:14px}.jdmip-card__body{padding:18px}.jdmip-card__title{margin:0 0 12px;color:var(--t);font-size:clamp(18px,2vw,22px);line-height:1.25}.jdmip-card__specs{display:flex;flex-wrap:wrap;gap:7px;min-height:28px;margin-bottom:18px}.jdmip-card__spec{padding:4px 8px;border-radius:999px;background:var(--soft);color:var(--m);font-size:13px;line-height:1.3}.jdmip-card__footer{display:flex;align-items:center;justify-content:space-between;gap:14px}.jdmip-card__price{font-size:21px;font-weight:800;line-height:1.2}.jdmip-card__button{flex:0 0 auto;display:inline-block;padding:10px 14px;border-radius:7px;background:var(--a);color:#fff!important;text-decoration:none!important;font-size:14px;font-weight:800}.jdmip-card__button:hover{opacity:.9}.jdmip-load-more-wrap{padding-top:28px;text-align:center}.jdmip-inventory.is-loading .jdmip-grid{opacity:.62}.jdmip-inventory.is-loading{cursor:progress}@media(max-width:1050px){.jdmip-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.jdmip-field--search{grid-column:1/-1}.jdmip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.jdmip-toolbar,.jdmip-grid{grid-template-columns:1fr}.jdmip-field--search{grid-column:auto}.jdmip-card__footer{align-items:stretch;flex-direction:column}.jdmip-card__button{text-align:center}}


/* v0.7.0 vehicle detail pages */
.jdmip-card__title-link {
    color: inherit;
    text-decoration: none;
}
.jdmip-card__badges,
.jdmip-vehicle-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 12px;
}
.jdmip-card__badge,
.jdmip-vehicle-badges span {
    padding: 5px 9px;
    border-radius: 999px;
    background: #fff0e6;
    color: #a44108;
    font-size: 12px;
    font-weight: 800;
}
.jdmip-vehicle-page {
    width: min(1280px, calc(100% - 32px));
    margin: 30px auto 70px;
    color: #1f2933;
}
.jdmip-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 22px;
    color: #66717d;
    font-size: 14px;
}
.jdmip-breadcrumb a {
    color: inherit;
}
.jdmip-vehicle-header {
    margin-bottom: 24px;
}
.jdmip-vehicle-header h1 {
    margin: 0;
    font-size: clamp(30px, 4vw, 52px);
    line-height: 1.08;
}
.jdmip-vehicle-reference {
    margin: 9px 0 0;
    color: #66717d;
}
.jdmip-vehicle-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 32px;
    align-items: start;
}
.jdmip-gallery {
    margin-bottom: 28px;
}
.jdmip-gallery__stage {
    position: relative;
    display: grid;
    place-items: center;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 14px;
    background: #e8ecef;
}
.jdmip-gallery__stage > img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.jdmip-gallery__empty {
    color: #66717d;
}
.jdmip-gallery__nav {
    position: absolute;
    top: 50%;
    width: 46px;
    height: 58px;
    transform: translateY(-50%);
    border: 0;
    border-radius: 8px;
    background: rgba(20, 29, 38, .72);
    color: #fff;
    cursor: pointer;
    font-size: 38px;
    line-height: 1;
}
.jdmip-gallery__nav--prev { left: 14px; }
.jdmip-gallery__nav--next { right: 14px; }
.jdmip-gallery__thumbs {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 12px 2px 4px;
    scrollbar-width: thin;
}
.jdmip-gallery__thumb {
    flex: 0 0 100px;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 8px;
    background: #e8ecef;
    cursor: pointer;
}
.jdmip-gallery__thumb.is-active {
    border-color: #e56b1f;
}
.jdmip-gallery__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.jdmip-panel {
    margin-bottom: 24px;
    padding: 24px;
    border: 1px solid #e3e6e8;
    border-radius: 12px;
    background: #fff;
}
.jdmip-panel h2 {
    margin: 0 0 18px;
    font-size: 25px;
}
.jdmip-spec-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
}
.jdmip-spec {
    padding: 14px;
    border-radius: 9px;
    background: #f5f7f8;
}
.jdmip-spec dt {
    margin-bottom: 5px;
    color: #66717d;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}
.jdmip-spec dd {
    margin: 0;
    font-size: 16px;
    font-weight: 800;
}
.jdmip-feature-list,
.jdmip-confidence ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.jdmip-feature-list li::before,
.jdmip-confidence li::before {
    content: "✓";
    margin-right: 8px;
    color: #2e7d32;
    font-weight: 900;
}
.jdmip-purchase-card {
    position: sticky;
    top: 24px;
    padding: 24px;
    border: 1px solid #e3e6e8;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 30px rgba(20, 29, 38, .12);
}
.jdmip-purchase-card__label {
    margin: 0 0 5px;
    color: #66717d;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}
.jdmip-purchase-card__price {
    margin: 0 0 12px;
    font-size: 31px;
    font-weight: 900;
}
.jdmip-purchase-card__note {
    margin-bottom: 20px;
    color: #66717d;
    font-size: 14px;
}
.jdmip-action {
    display: block;
    margin-top: 10px;
    padding: 13px 16px;
    border: 1px solid #1f2933;
    border-radius: 8px;
    color: #1f2933 !important;
    text-align: center;
    text-decoration: none !important;
    font-weight: 800;
}
.jdmip-action--primary {
    border-color: #e56b1f;
    background: #e56b1f;
    color: #fff !important;
}
.jdmip-source-link {
    display: block;
    margin-top: 18px;
    color: #66717d;
    text-align: center;
    font-size: 13px;
}
@media (max-width: 960px) {
    .jdmip-vehicle-layout {
        grid-template-columns: 1fr;
    }
    .jdmip-purchase-card {
        position: static;
        order: -1;
    }
    .jdmip-spec-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 580px) {
    .jdmip-vehicle-page {
        width: min(100% - 20px, 1280px);
        margin-top: 18px;
    }
    .jdmip-spec-grid,
    .jdmip-feature-list,
    .jdmip-confidence ul {
        grid-template-columns: 1fr;
    }
    .jdmip-panel {
        padding: 18px;
    }
    .jdmip-gallery__thumb {
        flex-basis: 82px;
    }
}

/* v0.8.0-alpha.2 full-size gallery */
.jdmip-gallery__open{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.jdmip-gallery__open img{display:block;width:100%;height:100%;object-fit:contain}.jdmip-lightbox[hidden]{display:none}.jdmip-lightbox{position:fixed;z-index:100000;inset:0;display:flex;align-items:center;justify-content:center;padding:48px 72px;background:rgba(0,0,0,.94)}.jdmip-lightbox__image{display:block;max-width:100%;max-height:calc(100vh - 96px);object-fit:contain}.jdmip-lightbox__close{position:absolute;top:14px;right:20px;width:48px;height:48px;border:0;background:transparent;color:#fff;cursor:pointer;font-size:44px;line-height:1}.jdmip-lightbox__nav{position:absolute;top:50%;width:54px;height:72px;transform:translateY(-50%);border:0;border-radius:8px;background:rgba(255,255,255,.16);color:#fff;cursor:pointer;font-size:44px}.jdmip-lightbox__nav--prev{left:14px}.jdmip-lightbox__nav--next{right:14px}.jdmip-lightbox__counter{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);padding:6px 12px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-weight:700}.jdmip-lightbox-open{overflow:hidden}@media(max-width:640px){.jdmip-lightbox{padding:58px 12px}.jdmip-lightbox__nav{width:44px;height:58px}.jdmip-lightbox__nav--prev{left:4px}.jdmip-lightbox__nav--next{right:4px}}

.jdmip-original-description{margin-top:18px;border-top:1px solid #dcdcde;padding-top:14px}.jdmip-original-description summary{cursor:pointer;font-weight:700}.jdmip-original-description>div{margin-top:12px;padding:14px;border-radius:8px;background:#f6f7f7}.jdmip-lightbox__image,.jdmip-admin-lightbox img{min-width:min(900px,90vw);max-width:96vw;max-height:92vh;object-fit:contain}

/* Alpha 4.35 public estimator */

.jdmip-estimator {
    --jdmip-estimator-ink: #172033;
    --jdmip-estimator-muted: #667085;
    --jdmip-estimator-line: #e6e9ef;
    --jdmip-estimator-soft: #f7f8fb;
    --jdmip-estimator-warm: #fff8ee;
    --jdmip-estimator-accent: #ed7a22;
    --jdmip-estimator-accent-dark: #b94d09;
    --jdmip-estimator-success: #18794e;
    --jdmip-estimator-success-soft: #edf9f3;

    position: sticky;
    top: 32px;
    align-self: start;
    border: 1px solid var(--jdmip-estimator-line);
    border-radius: 24px;
    background: #fff;
    box-shadow:
        0 18px 45px rgba(17, 24, 39, 0.08),
        0 2px 8px rgba(17, 24, 39, 0.04);
    overflow: hidden;
    color: var(--jdmip-estimator-ink);
}

.jdmip-estimator [hidden] {
    display: none !important;
}

.jdmip-estimator__loading {
    min-height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 32px;
    color: var(--jdmip-estimator-muted);
    font-weight: 600;
    text-align: center;
}

.jdmip-estimator__spinner {
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
    border: 3px solid #eceef2;
    border-top-color: var(--jdmip-estimator-accent);
    border-radius: 50%;
    animation: jdmip-estimator-spin 0.8s linear infinite;
}

@keyframes jdmip-estimator-spin {
    to {
        transform: rotate(360deg);
    }
}

.jdmip-estimator__content {
    padding: 20px;
}

.jdmip-estimator__vehicle {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 12px;
    margin-bottom: 22px;
    border-radius: 16px;
    background: var(--jdmip-estimator-soft);
}

.jdmip-estimator__vehicle img {
    width: 82px;
    height: 68px;
    object-fit: cover;
    border-radius: 12px;
    background: #eee;
}

.jdmip-estimator__vehicle > div {
    min-width: 0;
}

.jdmip-estimator__vehicle strong {
    display: block;
    margin-top: 2px;
    font-size: 15px;
    line-height: 1.3;
    color: var(--jdmip-estimator-ink);
}

.jdmip-estimator__vehicle [data-jdmip-estimator-vehicle-meta] {
    display: block;
    margin-top: 5px;
    color: var(--jdmip-estimator-muted);
    font-size: 12px;
    line-height: 1.4;
}

.jdmip-estimator__eyebrow {
    display: block;
    color: var(--jdmip-estimator-accent-dark);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}

.jdmip-estimator__intro {
    margin: 0 2px 18px;
}

.jdmip-estimator__intro h2 {
    margin: 5px 0 7px;
    color: var(--jdmip-estimator-ink);
    font-size: clamp(20px, 2vw, 25px);
    line-height: 1.15;
}

.jdmip-estimator__intro p {
    margin: 0;
    color: var(--jdmip-estimator-muted);
    font-size: 13px;
    line-height: 1.55;
}

.jdmip-estimator__packages {
    display: grid;
    gap: 12px;
}

.jdmip-estimator-package {
    width: 100%;
    appearance: none;
    display: block;
    position: relative;
    padding: 16px;
    border: 1px solid var(--jdmip-estimator-line);
    border-radius: 18px;
    background: #fff;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition:
        transform 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease,
        background 180ms ease;
}

.jdmip-estimator-package:hover {
    transform: translateY(-1px);
    border-color: #ccd1da;
    box-shadow: 0 8px 22px rgba(17, 24, 39, 0.07);
}

.jdmip-estimator-package:focus-visible {
    outline: 3px solid rgba(237, 122, 34, 0.24);
    outline-offset: 2px;
}

.jdmip-estimator-package.is-selected {
    border-color: var(--jdmip-estimator-accent);
    box-shadow:
        0 0 0 2px rgba(237, 122, 34, 0.11),
        0 10px 25px rgba(179, 77, 9, 0.08);
}

.jdmip-estimator-package.is-recommended {
    background:
        linear-gradient(
            145deg,
            #fffdf9 0%,
            var(--jdmip-estimator-warm) 100%
        );
}

.jdmip-estimator-package.is-recommended.is-selected {
    background:
        linear-gradient(
            145deg,
            #fffaf3 0%,
            #fff3df 100%
        );
}

.jdmip-estimator-package__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.jdmip-estimator-package__top strong {
    display: block;
    color: var(--jdmip-estimator-ink);
    font-size: 16px;
    line-height: 1.2;
}

.jdmip-estimator-package__number {
    display: block;
    margin-bottom: 3px;
    color: var(--jdmip-estimator-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}

.jdmip-estimator-package__recommended {
    flex: 0 0 auto;
    padding: 5px 8px;
    border-radius: 999px;
    background: var(--jdmip-estimator-accent);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.jdmip-estimator-package__summary {
    display: block;
    margin-top: 9px;
    color: var(--jdmip-estimator-muted);
    font-size: 12px;
    line-height: 1.45;
}

.jdmip-estimator-package__price {
    display: block;
    margin-top: 14px;
}

.jdmip-estimator-package__price > span {
    display: block;
    margin-bottom: 2px;
    color: var(--jdmip-estimator-muted);
    font-size: 11px;
}

.jdmip-estimator-package__price strong {
    display: block;
    color: var(--jdmip-estimator-ink);
    font-size: 25px;
    line-height: 1.05;
    letter-spacing: -0.025em;
}

.jdmip-estimator-package.is-selected
.jdmip-estimator-package__price strong {
    color: var(--jdmip-estimator-accent-dark);
}

.jdmip-estimator-package__secondary {
    display: block;
    margin-top: 8px;
    color: var(--jdmip-estimator-muted);
    font-size: 11px;
    line-height: 1.45;
}

.jdmip-estimator__selected {
    margin-top: 17px;
    padding: 18px;
    border-radius: 18px;
    background: var(--jdmip-estimator-ink);
    color: #fff;
}

.jdmip-estimator__selected .jdmip-estimator__eyebrow {
    color: #ffc58f;
}

.jdmip-estimator__selected-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.jdmip-estimator__total {
    margin-top: 4px;
    font-size: clamp(31px, 4vw, 40px);
    font-weight: 850;
    line-height: 1;
    letter-spacing: -0.045em;
    font-variant-numeric: tabular-nums;
}

.jdmip-estimator__selected-head p {
    max-width: 430px;
    margin: 9px 0 0;
    color: #cbd1dd;
    font-size: 12px;
    line-height: 1.5;
}

.jdmip-estimator__detail-toggle {
    appearance: none;
    flex: 0 0 auto;
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.07);
    color: #fff;
    font: inherit;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

.jdmip-estimator__detail-toggle:hover {
    background: rgba(255, 255, 255, 0.13);
}

.jdmip-estimator__detail {
    margin-top: 16px;
    padding-top: 13px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.jdmip-estimator__bucket-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 6px 0;
    color: #ced4df;
    font-size: 12px;
}

.jdmip-estimator__bucket-row strong {
    flex: 0 0 auto;
    color: #fff;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

.jdmip-estimator__funding {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4px 14px;
    align-items: baseline;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.jdmip-estimator__funding > span {
    color: #cbd1dd;
    font-size: 12px;
}

.jdmip-estimator__funding > strong {
    color: #fff;
    font-size: 19px;
    font-variant-numeric: tabular-nums;
}

.jdmip-estimator__funding small {
    grid-column: 1 / -1;
    color: #aeb6c5;
    font-size: 10px;
    line-height: 1.45;
}

.jdmip-protection {
    position: relative;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 15px;
    margin-top: 17px;
    padding: 18px;
    overflow: hidden;
    border: 1px solid #cde8d8;
    border-radius: 18px;
    background:
        linear-gradient(
            145deg,
            #f7fcf9 0%,
            var(--jdmip-estimator-success-soft) 100%
        );
}

.jdmip-protection::after {
    content: "";
    position: absolute;
    right: -40px;
    bottom: -60px;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: rgba(24, 121, 78, 0.045);
    pointer-events: none;
}

.jdmip-protection__lock {
    position: relative;
    width: 48px;
    height: 50px;
    margin-top: 2px;
}

.jdmip-protection__shackle {
    position: absolute;
    left: 11px;
    top: 0;
    width: 27px;
    height: 24px;
    border: 5px solid var(--jdmip-estimator-success);
    border-bottom: 0;
    border-radius: 15px 15px 0 0;
    transform-origin: 3px 22px;
    animation:
        jdmip-lock-settle 3.6s ease-in-out infinite;
}

.jdmip-protection__body {
    position: absolute;
    left: 5px;
    bottom: 0;
    width: 40px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: var(--jdmip-estimator-success);
    color: #fff;
    font-size: 18px;
    font-weight: 900;
    box-shadow: 0 7px 16px rgba(24, 121, 78, 0.16);
}

@keyframes jdmip-lock-settle {
    0%,
    78%,
    100% {
        transform: translateY(0);
    }

    84% {
        transform: translateY(-2px);
    }

    90% {
        transform: translateY(0);
    }
}

.jdmip-protection h3 {
    position: relative;
    z-index: 1;
    margin: 0;
    color: #125d3d;
    font-size: 18px;
    line-height: 1.2;
}

.jdmip-protection p {
    position: relative;
    z-index: 1;
    margin: 6px 0 8px;
    color: #35634f;
    font-size: 12px;
    line-height: 1.5;
}

.jdmip-protection ul {
    position: relative;
    z-index: 1;
    margin: 0;
    padding: 0;
    list-style: none;
}

.jdmip-protection li {
    position: relative;
    margin-top: 5px;
    padding-left: 17px;
    color: #315b49;
    font-size: 11px;
    line-height: 1.45;
}

.jdmip-protection li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--jdmip-estimator-success);
    font-weight: 900;
}

.jdmip-protection small {
    position: relative;
    z-index: 1;
    display: block;
    margin-top: 8px;
    color: #638071;
    font-size: 9px;
    line-height: 1.4;
}

.jdmip-estimator__quote-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    width: 100%;
    margin-top: 17px;
    padding: 15px 17px;
    border-radius: 14px;
    background:
        linear-gradient(
            135deg,
            var(--jdmip-estimator-accent) 0%,
            #d85f11 100%
        );
    box-shadow: 0 10px 24px rgba(216, 95, 17, 0.21);
    color: #fff !important;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none !important;
    transition:
        transform 170ms ease,
        box-shadow 170ms ease;
}

.jdmip-estimator__quote-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 13px 29px rgba(216, 95, 17, 0.27);
}

.jdmip-estimator__quote-button span {
    font-size: 20px;
    line-height: 1;
}

.jdmip-estimator__exchange {
    margin: 10px 2px 1px;
    color: var(--jdmip-estimator-muted);
    font-size: 10px;
    line-height: 1.4;
    text-align: center;
}

.jdmip-estimator__state {
    padding: 28px 22px;
    text-align: center;
}

.jdmip-estimator__state-icon {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    margin: 0 auto 12px;
    border-radius: 50%;
    background: #fff4e8;
    color: var(--jdmip-estimator-accent-dark);
    font-size: 22px;
    font-weight: 900;
}

.jdmip-estimator__state h2 {
    margin: 0;
    color: var(--jdmip-estimator-ink);
    font-size: 21px;
    line-height: 1.2;
}

.jdmip-estimator__state p {
    margin: 9px auto 0;
    max-width: 420px;
    color: var(--jdmip-estimator-muted);
    font-size: 13px;
    line-height: 1.55;
}

@media (max-width: 980px) {
    .jdmip-estimator {
        position: static;
        top: auto;
    }
}

@media (max-width: 640px) {
    .jdmip-estimator {
        border-radius: 18px;
    }

    .jdmip-estimator__content {
        padding: 14px;
    }

    .jdmip-estimator__vehicle {
        grid-template-columns: 68px minmax(0, 1fr);
    }

    .jdmip-estimator__vehicle img {
        width: 68px;
        height: 59px;
    }

    .jdmip-estimator-package {
        padding: 14px;
    }

    .jdmip-estimator-package__top {
        display: block;
    }

    .jdmip-estimator-package__recommended {
        display: inline-block;
        margin-top: 7px;
    }

    .jdmip-estimator__selected-head {
        display: block;
    }

    .jdmip-estimator__detail-toggle {
        margin-top: 13px;
    }

    .jdmip-protection {
        grid-template-columns: 42px minmax(0, 1fr);
        padding: 15px;
    }

    .jdmip-protection__lock {
        transform: scale(0.83);
        transform-origin: top left;
    }
}

@media (prefers-reduced-motion: reduce) {
    .jdmip-estimator *,
    .jdmip-estimator *::before,
    .jdmip-estimator *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
    }
}

/* Alpha 4.35 Part 2B layout corrections */

/*
 * Give the estimator enough room to behave like a pricing
 * configurator rather than a narrow legacy sidebar.
 */
.jdmip-vehicle-page {
    width: min(1460px, calc(100% - 40px));
}

.jdmip-vehicle-layout {
    grid-template-columns:
        minmax(0, 1fr)
        minmax(440px, 480px);
    gap: 36px;
}

/*
 * The complete estimator is intentionally not sticky.
 * It is too tall for useful whole-card sticky behaviour.
 */
.jdmip-estimator {
    position: static;
    top: auto;
    width: 100%;
}

/*
 * Protect package buttons from global WordPress/theme
 * button and button:hover styling.
 */
.jdmip-estimator-package,
.jdmip-estimator-package:hover,
.jdmip-estimator-package:focus,
.jdmip-estimator-package:active {
    color: var(--jdmip-estimator-ink) !important;
    text-shadow: none !important;
    background-color: #fff !important;
}

.jdmip-estimator-package:not(.is-recommended),
.jdmip-estimator-package:not(.is-recommended):hover,
.jdmip-estimator-package:not(.is-recommended):focus,
.jdmip-estimator-package:not(.is-recommended):active {
    background: #fff !important;
}

.jdmip-estimator-package.is-recommended,
.jdmip-estimator-package.is-recommended:hover,
.jdmip-estimator-package.is-recommended:focus,
.jdmip-estimator-package.is-recommended:active {
    background:
        linear-gradient(
            145deg,
            #fffdf9 0%,
            var(--jdmip-estimator-warm) 100%
        ) !important;
}

.jdmip-estimator-package.is-recommended.is-selected,
.jdmip-estimator-package.is-recommended.is-selected:hover,
.jdmip-estimator-package.is-recommended.is-selected:focus,
.jdmip-estimator-package.is-recommended.is-selected:active {
    background:
        linear-gradient(
            145deg,
            #fffaf3 0%,
            #fff3df 100%
        ) !important;
}

/*
 * Stronger but tasteful selected state.
 */
.jdmip-estimator-package.is-selected {
    border-color: var(--jdmip-estimator-accent) !important;
}

.jdmip-estimator-package:not(.is-selected):hover {
    border-color: #c9ced7 !important;
    box-shadow: 0 8px 22px rgba(17, 24, 39, 0.07) !important;
}

/*
 * Wider horizontal vehicle summary.
 */
.jdmip-estimator__vehicle {
    grid-template-columns: 100px minmax(0, 1fr);
    gap: 16px;
    padding: 13px;
}

.jdmip-estimator__vehicle img {
    width: 100px;
    height: 76px;
}

.jdmip-estimator__vehicle strong {
    font-size: 16px;
}

.jdmip-estimator__vehicle
[data-jdmip-estimator-vehicle-meta] {
    font-size: 12px;
}

/*
 * Package cards can breathe at this width.
 */
.jdmip-estimator__packages {
    gap: 13px;
}

.jdmip-estimator-package {
    padding: 18px;
}

.jdmip-estimator-package__top strong {
    font-size: 17px;
}

.jdmip-estimator-package__summary {
    max-width: 390px;
    font-size: 13px;
}

.jdmip-estimator-package__price strong {
    font-size: 28px;
}

/*
 * More room for the selected-price section and detail
 * control so they don't fight each other.
 */
.jdmip-estimator__selected {
    padding: 20px;
}

.jdmip-estimator__selected-head {
    gap: 20px;
}

.jdmip-estimator__detail-toggle,
.jdmip-estimator__detail-toggle:hover,
.jdmip-estimator__detail-toggle:focus,
.jdmip-estimator__detail-toggle:active {
    background: rgba(255, 255, 255, 0.07) !important;
    color: #fff !important;
    text-shadow: none !important;
}

.jdmip-estimator__detail-toggle:hover {
    background: rgba(255, 255, 255, 0.14) !important;
}

/*
 * Theme-safe CTA.
 */
.jdmip-estimator__quote-button,
.jdmip-estimator__quote-button:hover,
.jdmip-estimator__quote-button:focus,
.jdmip-estimator__quote-button:active {
    background:
        linear-gradient(
            135deg,
            var(--jdmip-estimator-accent) 0%,
            #d85f11 100%
        ) !important;
    color: #fff !important;
}

/*
 * Intermediate widths: stack before the main vehicle
 * column becomes cramped.
 */
@media (max-width: 1180px) {
    .jdmip-vehicle-layout {
        grid-template-columns: 1fr;
    }

    .jdmip-estimator {
        width: min(100%, 720px);
        margin: 0 auto 28px;
        order: -1;
    }
}

@media (max-width: 580px) {
    .jdmip-vehicle-page {
        width: min(100% - 20px, 1460px);
    }

    .jdmip-estimator {
        width: 100%;
    }
}

/* Alpha 4.35 Part 2C refinements */

.jdmip-breadcrumb {
    margin-top: 8px;
    margin-bottom: 24px;
}

.jdmip-breadcrumb__id {
    color: #98a1ab;
}

/*
 * Without a vehicle thumbnail there is no reason to reserve
 * an empty image column in the estimator summary.
 */
.jdmip-estimator__vehicle:not(:has(img)) {
    display: block;
    padding: 14px 16px;
}

.jdmip-estimator__vehicle:not(:has(img))
.jdmip-estimator__eyebrow {
    margin-bottom: 3px;
}

.jdmip-estimator__vehicle:not(:has(img)) strong {
    font-size: 18px;
}

/*
 * Slightly reduce vertical density now that the estimator
 * has adequate desktop width.
 */
.jdmip-estimator__intro {
    margin-bottom: 15px;
}

.jdmip-estimator-package {
    padding-top: 16px;
    padding-bottom: 16px;
}

.jdmip-estimator-package__summary {
    margin-top: 7px;
}

.jdmip-estimator-package__price {
    margin-top: 11px;
}

.jdmip-estimator__selected {
    margin-top: 14px;
}

.jdmip-protection {
    margin-top: 14px;
}

.jdmip-estimator__quote-button {
    margin-top: 14px;
}

/* Alpha 4.35 Part 2D detailed breakdown */

.jdmip-estimator__breakdown-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 15px;
    padding-bottom: 8px;
}

.jdmip-estimator__breakdown-heading strong {
    color: #fff;
    font-size: 13px;
}

.jdmip-estimator__breakdown-heading span {
    color: #8f9aab;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
}

.jdmip-estimator__bucket-row {
    padding: 7px 0;
}

.jdmip-estimator__bucket-row > span {
    min-width: 0;
}

.jdmip-estimator__bucket-label {
    display: block;
    color: #d6dbe4;
}

.jdmip-estimator__bucket-note {
    display: block;
    margin-top: 2px;
    color: #f6bd83;
    font-size: 9px;
    line-height: 1.3;
}

.jdmip-estimator__breakdown-total,
.jdmip-estimator__breakdown-separate {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-top: 9px;
    padding-top: 11px;
    border-top: 1px solid rgba(255, 255, 255, .14);
}

.jdmip-estimator__breakdown-total span,
.jdmip-estimator__breakdown-separate span {
    color: #fff;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.35;
}

.jdmip-estimator__breakdown-total strong {
    flex: 0 0 auto;
    color: #fff;
    font-size: 15px;
    font-variant-numeric: tabular-nums;
}

.jdmip-estimator__breakdown-separate {
    margin-top: 7px;
    padding: 10px 11px;
    border: 1px solid rgba(246, 189, 131, .25);
    border-radius: 9px;
    background: rgba(246, 189, 131, .07);
}

.jdmip-estimator__breakdown-separate span {
    color: #f6c18e;
    font-size: 10px;
    font-weight: 650;
}

.jdmip-estimator__breakdown-separate strong {
    flex: 0 0 auto;
    color: #ffd1a5;
    font-size: 13px;
}

/* Alpha 4.35 Part 2E two-level breakdown */

.jdmip-estimator__bucket-row--major {
    padding: 8px 0;
}

.jdmip-estimator__bucket-row--major
.jdmip-estimator__bucket-label {
    color: #e3e7ed;
    font-size: 12px;
}

.jdmip-estimator__bucket-row--major > strong {
    font-size: 12px;
}

.jdmip-estimator__full-cost {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-top: 9px;
    padding: 11px;
    border-radius: 9px;
    background: rgba(255, 255, 255, .07);
}

.jdmip-estimator__full-cost span {
    color: #dce1e8;
    font-size: 11px;
    font-weight: 700;
}

.jdmip-estimator__full-cost strong {
    flex: 0 0 auto;
    color: #fff;
    font-size: 14px;
    font-variant-numeric: tabular-nums;
}

.jdmip-estimator__itemized-toggle,
.jdmip-estimator__itemized-toggle:hover,
.jdmip-estimator__itemized-toggle:focus,
.jdmip-estimator__itemized-toggle:active {
    width: 100%;
    appearance: none;
    display: block;
    margin-top: 12px;
    padding: 9px 11px;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: 8px;
    background: rgba(255, 255, 255, .045) !important;
    color: #dce1e8 !important;
    text-align: center;
    text-shadow: none !important;
    font: inherit;
    font-size: 10px;
    font-weight: 750;
    cursor: pointer;
}

.jdmip-estimator__itemized-toggle:hover {
    background: rgba(255, 255, 255, .09) !important;
    border-color: rgba(255, 255, 255, .25) !important;
}

.jdmip-estimator__itemized {
    margin-top: 9px;
    padding: 5px 10px 8px;
    border-radius: 8px;
    background: rgba(0, 0, 0, .10);
}

.jdmip-estimator__itemized-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 15px;
    padding: 5px 0;
    color: #aeb7c5;
    font-size: 10px;
    line-height: 1.35;
}

.jdmip-estimator__itemized-row > span {
    min-width: 0;
}

.jdmip-estimator__itemized-row small {
    display: block;
    margin-top: 1px;
    color: #f6bd83;
    font-size: 8px;
}

.jdmip-estimator__itemized-row strong {
    flex: 0 0 auto;
    color: #dce1e8;
    font-size: 10px;
    font-variant-numeric: tabular-nums;
}

/* Alpha 4.35 Part 3F formal quote request */

.jdmip-estimator__quote-button {
    width: 100%;
    appearance: none;
    cursor: pointer;
    font: inherit;
}

.jdmip-quote-request {
    margin-top: 14px;
    padding: 20px;
    border: 1px solid #e1e5e9;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(17, 24, 39, .08);
}

.jdmip-quote-request__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 15px;
}

.jdmip-quote-request__head h3 {
    margin: 3px 0 0;
    color: #17202a;
    font-size: 18px;
    line-height: 1.25;
}

.jdmip-quote-request__close,
.jdmip-quote-request__close:hover,
.jdmip-quote-request__close:focus {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 0 !important;
    border-radius: 50%;
    background: #f1f3f5 !important;
    color: #4b5563 !important;
    font-size: 21px;
    line-height: 30px;
    cursor: pointer;
    text-shadow: none !important;
}

.jdmip-quote-request__selection {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2px 14px;
    margin-bottom: 17px;
    padding: 12px 14px;
    border-radius: 9px;
    background: #f6f7f8;
}

.jdmip-quote-request__selection > span:first-child {
    grid-column: 1 / -1;
    color: #7a8490;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.jdmip-quote-request__selection strong {
    color: #202936;
    font-size: 13px;
}

.jdmip-quote-request__selection
[data-jdmip-quote-total] {
    color: #202936;
    font-size: 13px;
    font-weight: 850;
}

.jdmip-quote-request form {
    display: grid;
    gap: 12px;
}

.jdmip-quote-request label {
    display: grid;
    gap: 5px;
}

.jdmip-quote-request label > span {
    color: #4b5563;
    font-size: 11px;
    font-weight: 750;
}

.jdmip-quote-request input {
    box-sizing: border-box;
    width: 100%;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid #cfd5dc;
    border-radius: 8px;
    background: #fff;
    color: #17202a;
    font: inherit;
    font-size: 14px;
}

.jdmip-quote-request input:focus {
    outline: 2px solid rgba(239, 112, 22, .18);
    outline-offset: 1px;
    border-color: #ef7016;
}

.jdmip-quote-request__privacy {
    margin: 0;
    color: #7a8490;
    font-size: 10px;
    line-height: 1.45;
}

.jdmip-quote-request__submit,
.jdmip-quote-request__submit:hover,
.jdmip-quote-request__submit:focus,
.jdmip-quote-request__submit:active {
    width: 100%;
    min-height: 44px;
    padding: 11px 15px;
    border: 0 !important;
    border-radius: 8px;
    background: linear-gradient(
        135deg,
        #ef7016 0%,
        #d85f11 100%
    ) !important;
    color: #fff !important;
    font: inherit;
    font-size: 13px;
    font-weight: 850;
    cursor: pointer;
    text-shadow: none !important;
}

.jdmip-quote-request__submit:disabled {
    opacity: .65;
    cursor: wait;
}

.jdmip-quote-request__error {
    margin: 0;
    padding: 10px 11px;
    border-radius: 7px;
    background: #fff1f1;
    color: #a12626;
    font-size: 11px;
    line-height: 1.4;
}

.jdmip-quote-request__success {
    padding: 10px 2px 2px;
    text-align: center;
}

.jdmip-quote-request__success-mark {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin: 0 auto 10px;
    border-radius: 50%;
    background: #e8f6ec;
    color: #23763a;
    font-size: 22px;
    font-weight: 900;
}

.jdmip-quote-request__success h3 {
    margin: 0 0 7px;
    color: #17202a;
    font-size: 18px;
}

.jdmip-quote-request__success p {
    margin: 5px 0;
    color: #66717d;
    font-size: 12px;
    line-height: 1.45;
}

.jdmip-quote-request__success strong {
    color: #17202a;
}


/*
 * Public formal quote honeypot.
 * Keep off-screen rather than display:none so simple form bots
 * still encounter the field.
 */
.jdmip-quote-request__trap {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

/* Compact inventory results and complete search controls, September 2026. */
.jdmip-inventory--list .jdmip-toolbar { grid-template-columns:repeat(4,minmax(0,1fr)); align-items:end; padding:20px; gap:16px; }
.jdmip-inventory--list .jdmip-field { display:block; min-width:0; margin:0; }
.jdmip-inventory--list .jdmip-field > span:not(.screen-reader-text),
.jdmip-inventory--list .jdmip-range legend { display:block; margin:0 0 6px; padding:0; border:0; color:#344252; font-size:13px; line-height:1.4; font-weight:700; }
.jdmip-inventory--list .jdmip-field input,
.jdmip-inventory--list .jdmip-field select { height:44px; font-size:14px; }
.jdmip-inventory--list .jdmip-range { min-width:0; margin:0; padding:0; border:0; }
.jdmip-inventory--list .jdmip-range > div { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.jdmip-inventory--list .jdmip-field--search { grid-column:auto; }
.jdmip-inventory--list .jdmip-filter-actions { display:flex; gap:8px; }
.jdmip-inventory--list .jdmip-search-button { flex:1; min-height:44px; padding:9px 12px; border:1px solid #b94700; border-radius:7px; background:#c6540d!important; color:#fff!important; font:inherit; font-size:14px; font-weight:700; cursor:pointer; }
.jdmip-inventory--list .jdmip-reset { background:#fff!important; color:#344252!important; border-color:#cbd2d8; padding:9px 12px; font-size:14px; }
.jdmip-inventory--list .jdmip-grid { display:grid; grid-template-columns:1fr; gap:16px; }
.jdmip-inventory--list .jdmip-card { display:grid; grid-template-columns:240px minmax(0,1fr); align-items:start; padding:16px; gap:24px; border-radius:10px; box-shadow:0 2px 10px rgba(20,29,38,.04); }
.jdmip-inventory--list .jdmip-card:hover { transform:none; border-color:#c3cbd2; }
.jdmip-inventory--list .jdmip-card__image-wrap { display:block; width:100%; aspect-ratio:4/3; border-radius:7px; }
.jdmip-inventory--list .jdmip-card__image { object-fit:contain; }
.jdmip-inventory--list .jdmip-card__body { min-width:0; padding:0; }
.jdmip-inventory--list .jdmip-card__title { margin:0 0 15px; font-size:22px; line-height:1.3; text-transform:none; letter-spacing:normal; }
.jdmip-inventory--list .jdmip-card__specs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px 20px; margin:0 0 16px; padding:0; }
.jdmip-inventory--list .jdmip-card__spec { display:block; min-width:0; padding:0; border-radius:0; background:none; }
.jdmip-inventory--list .jdmip-card__spec dt { margin:0 0 3px; color:#596775; font-size:12px; line-height:1.25; font-weight:400; }
.jdmip-inventory--list .jdmip-card__spec dd { margin:0; color:#24313f; font-size:15px; line-height:1.3; font-weight:600; overflow-wrap:anywhere; }
.jdmip-inventory--list .jdmip-card__footer { flex-direction:row; align-items:center; padding-top:12px; border-top:1px solid #edf0f2; }
.jdmip-inventory--list .jdmip-card__price { font-size:20px; }
.jdmip-inventory--list .jdmip-card__button { background:#c6540d; }
.jdmip-inventory--list .jdmip-card__placeholder { min-height:100%; text-align:center; padding:12px; box-sizing:border-box; }
.jdmip-source-button { display:inline-block; padding:12px 16px; border:1px solid #c6540d; border-radius:7px; color:#a84100!important; text-decoration:none!important; font-size:14px; font-weight:700; }
.jdmip-source-button:hover { background:#fff4ec; }
.jdmip-source-note { margin:14px 0 0!important; color:#596775; font-size:12px; line-height:1.5; }
.jdmip-quality-report .jdmip-spec-grid { margin:18px 0; }
@media(max-width:1000px) {
 .jdmip-inventory--list .jdmip-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .jdmip-inventory--list .jdmip-card { grid-template-columns:200px minmax(0,1fr); gap:18px; }
}
@media(max-width:640px) {
 .jdmip-inventory--list .jdmip-toolbar { padding:14px; gap:12px; }
 .jdmip-inventory--list .jdmip-field--search,.jdmip-inventory--list .jdmip-filter-actions { grid-column:1/-1; }
 .jdmip-inventory--list .jdmip-card { grid-template-columns:112px minmax(0,1fr); padding:12px; gap:12px; }
 .jdmip-inventory--list .jdmip-card__title { font-size:17px; margin-bottom:12px; }
 .jdmip-inventory--list .jdmip-card__specs { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .jdmip-inventory--list .jdmip-card__spec dd { font-size:13px; }
 .jdmip-inventory--list .jdmip-card__spec dt { font-size:11px; }
 .jdmip-inventory--list .jdmip-card__footer { flex-wrap:wrap; gap:10px; }
 .jdmip-inventory--list .jdmip-card__price { font-size:17px; }
 .jdmip-inventory--list .jdmip-card__button { width:100%; box-sizing:border-box; font-size:13px; padding:10px; }
}

/* Keep theme heading overrides from expanding compact rows. */
.jdmip-inventory--list .jdmip-card__title { font-size:22px!important; }
@media(max-width:640px) {
 .jdmip-inventory--list .jdmip-card { grid-template-columns:96px minmax(0,1fr); }
 .jdmip-inventory--list .jdmip-card__title { font-size:17px!important; }
 .jdmip-inventory--list .jdmip-card__spec:nth-child(3) { grid-column:1/-1; }
 .jdmip-inventory--list .jdmip-card__spec dt { overflow-wrap:anywhere; }
}

@media(max-width:440px) {
 .jdmip-inventory--list .jdmip-toolbar { grid-template-columns:minmax(0,1fr); }
}

/* Manufacturer > model > results directory. */
.jdmip-inventory [hidden] { display:none!important; }
.jdmip-browse { margin-bottom:24px; }
.jdmip-browse-steps { display:flex; flex-wrap:wrap; gap:10px 24px; margin:0 0 22px; padding:14px 18px; border:1px solid #e1e5e8; border-radius:8px; background:#f7f8fa; font-size:14px; }
.jdmip-browse-steps span { color:#65717d; }
.jdmip-browse-steps a { color:#a84100!important; text-decoration:underline; }
.jdmip-browse-steps .is-current { color:#24313f; font-weight:700; }
.jdmip-browse-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:10px; }
.jdmip-browse-heading h2 { margin:0!important; font-size:26px!important; font-weight:700; line-height:1.3; letter-spacing:normal; text-transform:none; }
.jdmip-browse-heading > span { color:#596775; font-size:14px; }
.jdmip-browse-help { margin:10px 0 22px!important; font-size:14px; color:#596775; line-height:1.6; }
.jdmip-directory-group { margin:22px 0; border:1px solid #dfe4e8; border-radius:8px; overflow:hidden; }
.jdmip-directory-group h3 { margin:0!important; padding:12px 18px; background:#f5f6f8; color:#263544!important; font-size:18px!important; line-height:1.4; text-transform:none; border-bottom:1px solid #dfe4e8; letter-spacing:normal; }
.jdmip-directory-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none!important; padding:10px!important; margin:0!important; gap:2px 10px; }
.jdmip-directory-list li { margin:0!important; padding:0!important; list-style:none!important; min-width:0; }
.jdmip-directory-link { display:flex; align-items:baseline; gap:8px; padding:13px 10px; color:#175677!important; font-size:16px; line-height:1.45; text-decoration:none!important; min-height:46px; box-sizing:border-box; overflow-wrap:anywhere; border-radius:5px; }
.jdmip-directory-link:hover { background:#fff4ec; text-decoration:underline!important; }
.jdmip-directory-count { flex-shrink:0; color:#62707c; font-size:13px; }
.jdmip-inventory a:focus-visible,.jdmip-inventory button:focus-visible,.jdmip-inventory select:focus-visible { outline:3px solid #175677; outline-offset:3px; }
.jdmip-inventory--list .jdmip-toolbar { grid-template-columns:repeat(4,minmax(0,1fr)); }
.jdmip-inventory--list .jdmip-range { grid-column:span 2; }
.jdmip-inventory--list .jdmip-range .jdmip-field > span { font-weight:400; font-size:12px; }
.jdmip-inventory--list .jdmip-field--search { grid-column:span 2; }
.jdmip-inventory--list .jdmip-filter-actions { grid-column:span 2; }
.jdmip-inventory--list .jdmip-field select { padding-right:25px; }
@media(max-width:900px) {
 .jdmip-directory-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .jdmip-inventory--list .jdmip-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:640px) {
 .jdmip-directory-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; padding:6px!important; }
 .jdmip-directory-link { font-size:14px; padding:12px 8px; gap:5px; }
 .jdmip-browse-heading h2 { font-size:22px!important; }
 .jdmip-browse-steps { gap:8px 14px; padding:12px; font-size:12px; }
 .jdmip-inventory--list .jdmip-filter-actions { flex-wrap:wrap; }
}
@media(max-width:380px) {
 .jdmip-directory-list { grid-template-columns:1fr; }
 .jdmip-inventory--list .jdmip-range > div { grid-template-columns:1fr; }
}

.jdmip-browse-heading h2 { scroll-margin-top:180px; }

/* Shared watercolour header for manufacturer, model and vehicle search steps. */
body.jdmip-inventory-browse-page #secondary-banner {
 background:#f5f4ed!important;
 min-height:400px;
 padding-top:200px;
 overflow:hidden;
}
body.jdmip-inventory-browse-page #secondary-banner::before {
 content:"";
 position:absolute;
 inset:130px 0 0 auto;
 width:min(100%,810px);
 background:url("../images/jdm-japan-watercolour-header.png") right bottom / contain no-repeat;
 -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 24%);
 mask-image:linear-gradient(90deg,transparent 0%,#000 24%);
 pointer-events:none;
}
body.jdmip-inventory-browse-page #secondary-banner > .container { position:relative; z-index:1; }
body.jdmip-inventory-browse-page #secondary-banner .row { position:relative; }
body.jdmip-inventory-browse-page #secondary-banner .breadcrumb-column { position:absolute; top:60px; left:0; width:auto; max-width:none; }
body.jdmip-inventory-browse-page #secondary-banner .main-heading { color:#173c4c!important; text-shadow:none; }
body.jdmip-inventory-browse-page #secondary-banner .breadcrumb { background:rgba(255,255,255,.86)!important; margin:0!important; padding:5px 10px; border-radius:4px; }
body.jdmip-inventory-browse-page #secondary-banner .breadcrumb,
body.jdmip-inventory-browse-page #secondary-banner .breadcrumb a,
body.jdmip-inventory-browse-page #secondary-banner .breadcrumb li::before { color:#173c4c!important; text-shadow:none; }
body.jdmip-inventory-browse-page header .toolbar,
body.jdmip-inventory-browse-page header .bottom-header { background:rgba(252,252,248,.94)!important; }
body.jdmip-inventory-browse-page header .bottom-header { border-bottom:1px solid rgba(23,60,76,.09); }
body.jdmip-inventory-browse-page header .logo .primary_text,
body.jdmip-inventory-browse-page header .logo .secondary_text,
body.jdmip-inventory-browse-page header .toolbar a,
body.jdmip-inventory-browse-page header .nav-link { color:#173c4c!important; text-shadow:none; }
body.jdmip-inventory-browse-page header .nav-link:hover,
body.jdmip-inventory-browse-page header .nav-link:focus { color:#a64a16!important; }
body.jdmip-inventory-browse-page header .header_shadow,
body.jdmip-inventory-browse-page header .toolbar_shadow { display:none; }
body.jdmip-inventory-browse-page header .navbar-toggler-icon { filter:brightness(0); }
@media(max-width:767px) {
 body.jdmip-inventory-browse-page #secondary-banner { min-height:342px; padding-top:160px; }
 body.jdmip-inventory-browse-page #secondary-banner::before { -webkit-mask-image:none; mask-image:none; }
 body.jdmip-inventory-browse-page #secondary-banner .main-heading { font-size:28px; }
 body.jdmip-inventory-browse-page header .navbar-collapse { background:#fcfcf8; }
}

/* Purchase & Ship estimates beside each inventory result. */
.jdmip-card__delivery-price { display:flex; flex:1 1 auto; flex-direction:column; gap:4px; min-width:0; }
.jdmip-card__delivery-label { color:#364551; font-size:13px; font-weight:600; line-height:1.4; }
.jdmip-card__delivery-amount { color:#1f2933; font-size:24px; font-weight:800; line-height:1.25; }
.jdmip-card__delivery-note { color:#66717d; font-size:12px; line-height:1.4; }
.jdmip-card__delivery-price[data-delivery-state="loading"] .jdmip-card__delivery-amount,
.jdmip-card__delivery-price[data-delivery-state="unavailable"] .jdmip-card__delivery-amount { font-size:17px; font-weight:600; }
@media(max-width:640px) {
 .jdmip-card__delivery-price { flex-basis:100%; }
 .jdmip-card__delivery-amount { font-size:22px; }
}

/* Country flags and catalogue photos for model selection. */
.jdmip-directory-group h3 { display:flex; align-items:center; gap:10px; }
.jdmip-country-flag { display:block; flex:0 0 28px; width:28px!important; height:28px!important; max-width:none; border:0!important; border-radius:50%; object-fit:cover; box-shadow:0 0 0 1px rgba(27,42,54,.12); }
.jdmip-directory-group--models .jdmip-directory-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px 12px; }
.jdmip-directory-link--model { display:grid; grid-template-columns:112px minmax(0,1fr); grid-template-rows:1fr 1fr; column-gap:12px; row-gap:0; align-items:center; min-height:104px; padding:10px; }
.jdmip-model-photo { grid-row:1 / 3; display:flex; justify-content:center; align-items:center; width:112px; height:84px; background:#fff; border-radius:5px; overflow:hidden; }
.jdmip-model-photo img { display:block; width:112px!important; height:84px!important; max-width:100%; border:0!important; object-fit:contain; }
.jdmip-directory-link--model .jdmip-directory-name { align-self:end; padding-bottom:3px; }
.jdmip-directory-link--model .jdmip-directory-count { align-self:start; }
.jdmip-model-photo__missing { padding:8px; color:#697580; font-size:11px; line-height:1.3; text-align:center; }
@media(max-width:1000px) {
 .jdmip-directory-group--models .jdmip-directory-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:640px) {
 .jdmip-directory-group--models .jdmip-directory-list { grid-template-columns:1fr; gap:2px; }
 .jdmip-directory-link--model { grid-template-columns:96px minmax(0,1fr); min-height:90px; column-gap:12px; }
 .jdmip-model-photo,.jdmip-model-photo img { width:96px!important; height:72px!important; }
 .jdmip-directory-link--model .jdmip-directory-name { font-size:15px; }
}

/* Keep gallery controls below the signed-in WordPress toolbar. */
body.admin-bar .jdmip-lightbox { top:var(--wp-admin--admin-bar--height,32px); }

/* Let long thumbnail strips scroll within the vehicle column. */
.jdmip-vehicle-main { min-width:0; }
@media (max-width:1180px) { .jdmip-vehicle-layout { grid-template-columns:minmax(0,1fr); } }

/* Label representative dealer photos where the catalogue has no stock image. */
.jdmip-model-photo { position:relative; }
.jdmip-model-photo__caption { position:absolute; bottom:0; left:0; right:0; padding:2px 0; background:rgba(255,255,255,.94); color:#42504b; font-size:10px; line-height:1.25; text-align:center; }
