
* { box-sizing:border-box; }

html { scroll-behavior:smooth; }

body.jpj-public-bridge-body {
    margin:0;
    background:#f7f9fc;
    color:#19283e;
    font-family:Arial,Helvetica,sans-serif;
}

.jpj-bridge-container {
    width:min(1240px,calc(100% - 42px));
    margin:0 auto;
}

.jpj-bridge-devbar {
    background:#071f66;
    color:#fff;
    font-size:11px;
}

.jpj-bridge-devbar .jpj-bridge-container {
    min-height:36px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.jpj-bridge-devbar strong { color:#ff851b; }

.jpj-bridge-devbar a {
    color:#fff;
    font-weight:800;
    text-decoration:none;
}

.jpj-bridge-header {
    position:sticky;
    top:0;
    z-index:50;
    border-bottom:1px solid #e4e9f0;
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(12px);
}

.jpj-bridge-header > .jpj-bridge-container {
    min-height:80px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.jpj-bridge-brand img {
    display:block;
    width:auto;
    max-width:270px;
    max-height:64px;
}

.jpj-bridge-header nav {
    display:flex;
    gap:7px;
    align-items:center;
}

.jpj-bridge-header nav a {
    padding:11px 12px;
    border-radius:10px;
    color:#303a4d;
    font-size:13px;
    font-weight:800;
    text-decoration:none;
}

.jpj-bridge-header nav a.is-active {
    background:#fff0e4;
    color:#071f66;
    box-shadow:inset 0 -3px 0 #ff851b;
}

.jpj-bridge-eyebrow {
    color:#ff7d13;
    font-size:10px;
    font-weight:900;
    letter-spacing:.1em;
}

.jpj-bridge-home-hero {
    overflow:hidden;
    border-bottom:1px solid #dfe8f2;
    background:
        radial-gradient(circle at 94% 0,rgba(47,123,244,.17),transparent 27%),
        radial-gradient(circle at 12% 100%,rgba(255,126,20,.16),transparent 26%),
        linear-gradient(135deg,#fff 0%,#fff8f3 50%,#eef7ff 100%);
}

.jpj-bridge-home-hero-grid {
    min-height:420px;
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
    gap:50px;
    align-items:center;
    padding-top:58px;
    padding-bottom:58px;
}

.jpj-bridge-home-hero h1,
.jpj-bridge-listings-hero h1 {
    margin:12px 0 16px;
    color:#071f66;
    font-size:clamp(44px,5.4vw,72px);
    line-height:.99;
    letter-spacing:-.055em;
}

.jpj-bridge-home-hero p,
.jpj-bridge-listings-hero p {
    max-width:720px;
    margin:0;
    color:#64748b;
    font-size:16px;
    line-height:1.7;
}

.jpj-bridge-hero-actions {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:26px;
}

.jpj-bridge-hero-actions a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 18px;
    border:1px solid #d6e0eb;
    border-radius:12px;
    background:#fff;
    color:#071f66;
    font-size:11px;
    font-weight:900;
    text-decoration:none;
}

.jpj-bridge-hero-actions a.is-primary {
    border-color:#ef233c;
    background:linear-gradient(135deg,#ef233c,#dc1731);
    color:#fff;
    box-shadow:0 12px 28px rgba(239,35,60,.19);
}

.jpj-bridge-home-stats,
.jpj-bridge-count-summary {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}

.jpj-bridge-home-stats > div,
.jpj-bridge-count-summary > div {
    padding:22px 15px;
    border:1px solid #d7e3ef;
    border-top:4px solid #2f7bf4;
    border-radius:18px;
    background:rgba(255,255,255,.88);
    text-align:center;
    box-shadow:0 14px 34px rgba(9,30,66,.07);
}

.jpj-bridge-home-stats > div:nth-child(2),
.jpj-bridge-count-summary > div:nth-child(2) { border-top-color:#ff851b; }

.jpj-bridge-home-stats > div:nth-child(3),
.jpj-bridge-count-summary > div:nth-child(3) { border-top-color:#ef233c; }

.jpj-bridge-home-stats strong,
.jpj-bridge-home-stats span,
.jpj-bridge-count-summary strong,
.jpj-bridge-count-summary span {
    display:block;
}

.jpj-bridge-home-stats strong,
.jpj-bridge-count-summary strong {
    color:#071f66;
    font-size:36px;
    line-height:1;
}

.jpj-bridge-home-stats span,
.jpj-bridge-count-summary span {
    margin-top:7px;
    color:#68778d;
    font-size:10px;
    font-weight:800;
}

.jpj-bridge-home-section,
.jpj-bridge-brand-section,
.jpj-bridge-listings-main {
    padding:58px 0;
}

.jpj-bridge-home-section.is-sold {
    background:#fff;
    border-top:1px solid #e6ebf1;
}

.jpj-bridge-brand-section {
    background:linear-gradient(180deg,#071f66,#0a2a78);
}

.jpj-bridge-brand-section .jpj-bridge-section-head h2 { color:#fff; }

.jpj-bridge-section-head {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:22px;
    margin-bottom:25px;
}

.jpj-bridge-section-head h2 {
    margin:7px 0 7px;
    color:#071f66;
    font-size:36px;
    line-height:1.08;
    letter-spacing:-.04em;
}

.jpj-bridge-section-head p {
    max-width:730px;
    margin:0;
    color:#68778d;
    font-size:13px;
    line-height:1.55;
}

.jpj-bridge-section-head > a {
    flex:0 0 auto;
    color:#ef233c;
    font-size:11px;
    font-weight:900;
    text-decoration:none;
}

.jpj-bridge-card-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
}

.jpj-bridge-vehicle-card {
    overflow:hidden;
    border:1px solid #e1e7ef;
    border-radius:23px;
    background:#fff;
    box-shadow:0 18px 45px rgba(9,30,66,.075);
}

.jpj-bridge-card-image {
    position:relative;
    display:block;
    height:270px;
    overflow:hidden;
    background:#e9eef5;
}

.jpj-bridge-card-image img {
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .25s ease;
}

.jpj-bridge-vehicle-card:hover .jpj-bridge-card-image img {
    transform:scale(1.02);
}

.jpj-bridge-no-image {
    height:100%;
    display:grid;
    place-items:center;
    color:#071f66;
    font-size:44px;
    font-weight:900;
    font-style:italic;
}

.jpj-bridge-card-badges {
    position:absolute;
    left:14px;
    top:14px;
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}

.jpj-bridge-card-badges b {
    display:inline-flex;
    align-items:center;
    min-height:31px;
    padding:0 9px;
    border-radius:999px;
    background:#eaf9ef;
    color:#168247;
    font-size:9px;
    font-weight:900;
    box-shadow:0 7px 18px rgba(0,0,0,.07);
}

.jpj-bridge-card-badges b.is-new {
    background:#ff851b;
    color:#071f66;
}

.jpj-bridge-card-badges b.is-featured {
    background:#e9f1ff;
    color:#1553b8;
}

.jpj-bridge-vehicle-card.is-reserved .is-status {
    background:#fff0df;
    color:#9a4e00;
}

.jpj-bridge-vehicle-card.is-sold .is-status {
    background:#ffe8ed;
    color:#b61d32;
}

.jpj-bridge-card-body {
    padding:21px;
}

.jpj-bridge-card-meta {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    color:#7b8799;
    font-size:9px;
    font-weight:800;
}

.jpj-bridge-card-meta span + span:before {
    content:"•";
    margin-right:7px;
    color:#ff851b;
}

.jpj-bridge-card-body h3 {
    margin:9px 0 16px;
    color:#071f66;
    font-size:21px;
    line-height:1.2;
}

.jpj-bridge-card-body h3 a {
    color:inherit;
    text-decoration:none;
}

.jpj-bridge-card-specs {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}

.jpj-bridge-card-specs div {
    padding:11px;
    border:1px solid #e4e9f0;
    border-radius:12px;
    background:#f9fbfd;
}

.jpj-bridge-card-specs small,
.jpj-bridge-card-specs strong {
    display:block;
}

.jpj-bridge-card-specs small {
    color:#8a96a7;
    font-size:8px;
    font-weight:900;
    text-transform:uppercase;
}

.jpj-bridge-card-specs strong {
    margin-top:5px;
    color:#34445a;
    font-size:11px;
}

.jpj-bridge-card-footer {
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:14px;
    margin-top:17px;
    padding-top:16px;
    border-top:1px solid #edf0f4;
}

.jpj-bridge-card-footer > div:first-child small,
.jpj-bridge-card-footer > div:first-child strong {
    display:block;
}

.jpj-bridge-card-footer > div:first-child small {
    color:#8a96a7;
    font-size:8px;
    font-weight:900;
    text-transform:uppercase;
}

.jpj-bridge-card-footer > div:first-child strong {
    margin-top:3px;
    color:#071f66;
    font-size:23px;
}

.jpj-bridge-card-actions {
    display:flex;
    gap:6px;
}

.jpj-bridge-card-actions a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:35px;
    padding:0 9px;
    border:1px solid #d7e0eb;
    border-radius:9px;
    color:#071f66;
    font-size:9px;
    font-weight:900;
    text-decoration:none;
}

.jpj-bridge-test-drive {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    margin-top:10px;
    border-radius:10px;
    background:#ef233c;
    color:#fff;
    font-size:10px;
    font-weight:900;
    text-decoration:none;
}

.jpj-bridge-brand-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

.jpj-bridge-brand-grid a {
    padding:18px;
    border:1px solid rgba(255,255,255,.17);
    border-radius:15px;
    background:rgba(255,255,255,.08);
    color:#fff;
    text-decoration:none;
}

.jpj-bridge-brand-grid strong,
.jpj-bridge-brand-grid span {
    display:block;
}

.jpj-bridge-brand-grid strong { font-size:15px; }

.jpj-bridge-brand-grid span {
    margin-top:5px;
    color:#c7d5ee;
    font-size:10px;
}

.jpj-bridge-listings-hero {
    border-bottom:1px solid #dae5f0;
    background:
        radial-gradient(circle at 90% 0,rgba(47,123,244,.16),transparent 27%),
        linear-gradient(135deg,#fff,#fff7f2 60%,#edf7ff);
}

.jpj-bridge-listings-hero-grid {
    min-height:310px;
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);
    gap:44px;
    align-items:center;
    padding-top:44px;
    padding-bottom:44px;
}

.jpj-bridge-listings-hero h1 {
    font-size:clamp(40px,4.9vw,62px);
}

.jpj-bridge-search {
    margin-bottom:22px;
    padding:18px;
    border:1px solid #dfe6ef;
    border-radius:19px;
    background:#fff;
    box-shadow:0 14px 35px rgba(9,30,66,.06);
}

.jpj-bridge-search label > span,
.jpj-bridge-filter-grid label > span {
    display:block;
    margin-bottom:7px;
    color:#516178;
    font-size:8px;
    font-weight:900;
    text-transform:uppercase;
}

.jpj-bridge-search-top {
    display:grid;
    grid-template-columns:minmax(0,1fr) 245px 145px;
    gap:10px;
    align-items:end;
}

.jpj-bridge-search input,
.jpj-bridge-search select {
    width:100%;
    height:47px;
    padding:0 13px;
    border:1px solid #d7e0ea;
    border-radius:11px;
    background:#fbfcfe;
    color:#17243a;
    font-size:12px;
    outline:none;
}

.jpj-bridge-search input:focus,
.jpj-bridge-search select:focus {
    border-color:#2f7bf4;
    box-shadow:0 0 0 3px rgba(47,123,244,.10);
}

.jpj-bridge-search-top > button,
.jpj-bridge-filter-actions button {
    height:47px;
    border:0;
    border-radius:11px;
    background:#071f66;
    color:#fff;
    font-size:10px;
    font-weight:900;
    cursor:pointer;
}

.jpj-bridge-filter-panel {
    margin-top:13px;
    border-top:1px solid #edf0f4;
}

.jpj-bridge-filter-panel summary {
    min-height:48px;
    display:flex;
    align-items:center;
    gap:8px;
    cursor:pointer;
    color:#071f66;
    font-size:11px;
    font-weight:900;
}

.jpj-bridge-filter-panel summary b {
    padding:4px 7px;
    border-radius:999px;
    background:#edf4ff;
    color:#1553b8;
    font-size:8px;
}

.jpj-bridge-filter-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:11px;
    padding:4px 0 12px;
}

.jpj-bridge-filter-actions {
    display:flex;
    gap:8px;
    align-items:center;
    padding-top:4px;
}

.jpj-bridge-filter-actions button {
    height:40px;
    padding:0 14px;
}

.jpj-bridge-filter-actions a {
    display:inline-flex;
    align-items:center;
    min-height:40px;
    padding:0 12px;
    border:1px solid #d9e1ea;
    border-radius:10px;
    color:#34445a;
    font-size:9px;
    font-weight:900;
    text-decoration:none;
}

.jpj-bridge-results-bar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px;
}

.jpj-bridge-results-bar div {
    display:flex;
    gap:6px;
    align-items:baseline;
}

.jpj-bridge-results-bar strong {
    color:#071f66;
    font-size:22px;
}

.jpj-bridge-results-bar span {
    color:#6f7d91;
    font-size:9px;
    font-weight:700;
}

.jpj-bridge-note-section {
    padding:28px 0 48px;
}

.jpj-bridge-note {
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:14px;
    align-items:center;
    padding:18px;
    border:1px solid #ffd8b8;
    border-radius:16px;
    background:#fff8f1;
}

.jpj-bridge-note > span {
    display:inline-flex;
    align-items:center;
    min-height:29px;
    padding:0 9px;
    border-radius:999px;
    background:#ff851b;
    color:#071f66;
    font-size:9px;
    font-weight:900;
}

.jpj-bridge-note strong {
    display:block;
    color:#071f66;
    font-size:12px;
}

.jpj-bridge-note p {
    margin:4px 0 0;
    color:#6f7d91;
    font-size:9px;
    line-height:1.45;
}

.jpj-bridge-note a {
    color:#071f66;
    font-size:9px;
    font-weight:900;
}

.jpj-bridge-empty {
    padding:50px 24px;
    border:1px dashed #ccd6e2;
    border-radius:19px;
    background:#fff;
    text-align:center;
}

.jpj-bridge-empty > span {
    color:#ff7d13;
    font-size:9px;
    font-weight:900;
    text-transform:uppercase;
}

.jpj-bridge-empty h3 {
    margin:9px 0 7px;
    color:#071f66;
    font-size:24px;
}

.jpj-bridge-empty p {
    color:#6f7d91;
}

.jpj-bridge-empty a {
    display:inline-flex;
    margin-top:10px;
    padding:11px 14px;
    border-radius:10px;
    background:#ef233c;
    color:#fff;
    font-size:9px;
    font-weight:900;
    text-decoration:none;
}

.jpj-bridge-footer {
    border-top:5px solid #ff851b;
    background:#071f66;
    color:#fff;
}

.jpj-bridge-footer .jpj-bridge-container {
    min-height:175px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

.jpj-bridge-footer strong,
.jpj-bridge-footer span,
.jpj-bridge-footer a {
    display:block;
}

.jpj-bridge-footer strong { font-size:18px; }

.jpj-bridge-footer span {
    margin-top:8px;
    color:#b7c6e1;
    font-size:11px;
}

.jpj-bridge-footer a {
    color:#fff;
    font-size:11px;
    font-weight:800;
    text-decoration:none;
}

.jpj-bridge-footer a + a { margin-top:7px; }

@media(max-width:1000px) {
    .jpj-bridge-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .jpj-bridge-brand-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .jpj-bridge-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media(max-width:760px) {
    .jpj-bridge-container { width:min(100% - 28px,1240px); }

    .jpj-bridge-devbar .jpj-bridge-container {
        align-items:flex-start;
        flex-direction:column;
        padding-top:10px;
        padding-bottom:10px;
    }

    .jpj-bridge-header { position:static; }

    .jpj-bridge-header > .jpj-bridge-container {
        min-height:auto;
        align-items:flex-start;
        flex-direction:column;
        padding-top:15px;
        padding-bottom:12px;
    }

    .jpj-bridge-brand {
        display:flex;
        width:100%;
        align-items:center;
        justify-content:center;
        margin:0 auto;
    }

    .jpj-bridge-brand img {
        max-width:260px;
        max-height:76px;
        margin-left:auto;
        margin-right:auto;
    }

    .jpj-bridge-header nav {
        width:100%;
        overflow-x:auto;
        padding-bottom:3px;
    }

    .jpj-bridge-header nav a { white-space:nowrap; }

    .jpj-bridge-home-hero-grid,
    .jpj-bridge-listings-hero-grid {
        min-height:auto;
        grid-template-columns:1fr;
        gap:28px;
    }

    .jpj-bridge-home-hero h1,
    .jpj-bridge-listings-hero h1 {
        font-size:44px;
    }

    .jpj-bridge-home-stats,
    .jpj-bridge-count-summary {
        max-width:560px;
    }

    .jpj-bridge-section-head {
        align-items:flex-start;
        flex-direction:column;
    }

    .jpj-bridge-section-head h2 { font-size:31px; }

    .jpj-bridge-card-grid { grid-template-columns:1fr; }

    .jpj-bridge-card-image { height:330px; }

    .jpj-bridge-brand-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }

    .jpj-bridge-search-top {
        grid-template-columns:1fr;
    }

    .jpj-bridge-filter-grid { grid-template-columns:1fr 1fr; }

    .jpj-bridge-results-bar {
        align-items:flex-start;
        flex-direction:column;
    }

    .jpj-bridge-note {
        grid-template-columns:auto 1fr;
    }

    .jpj-bridge-note > a {
        grid-column:2;
        justify-self:start;
    }

    .jpj-bridge-footer .jpj-bridge-container {
        min-height:auto;
        align-items:flex-start;
        flex-direction:column;
        padding-top:34px;
        padding-bottom:34px;
    }
}

@media(max-width:500px) {
    .jpj-bridge-home-hero h1,
    .jpj-bridge-listings-hero h1 {
        font-size:39px;
    }

    .jpj-bridge-home-stats,
    .jpj-bridge-count-summary {
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:7px;
    }

    .jpj-bridge-home-stats > div,
    .jpj-bridge-count-summary > div {
        padding:17px 7px;
    }

    .jpj-bridge-home-stats strong,
    .jpj-bridge-count-summary strong {
        font-size:28px;
    }

    .jpj-bridge-card-image { height:280px; }

    .jpj-bridge-card-footer {
        align-items:flex-start;
        flex-direction:column;
    }

    .jpj-bridge-card-actions { width:100%; }

    .jpj-bridge-card-actions a { flex:1; }

    .jpj-bridge-brand-grid { grid-template-columns:1fr; }

    .jpj-bridge-filter-grid { grid-template-columns:1fr; }

    .jpj-bridge-note {
        grid-template-columns:1fr;
    }

    .jpj-bridge-note > a { grid-column:auto; }
}


/* v0.8.5 mobile navigation fit polish */
@media(max-width:520px){
    .jpj-bridge-header nav{
        gap:2px;
        overflow:visible;
        justify-content:space-between;
        padding-bottom:0;
    }
    .jpj-bridge-header nav a{
        flex:0 1 auto;
        min-width:0;
        padding:9px 5px;
        font-size:11.5px;
        white-space:nowrap;
    }
}


/* v0.8.9.6 — Mobile Inventory Card Image Consistency */
@media(max-width:760px){
    .jpj-bridge-vehicle-card{
        min-width:0;
        max-width:100%;
    }

    .jpj-bridge-card-image{
        width:100%;
        height:auto;
        aspect-ratio:4 / 3;
        background:
            radial-gradient(circle at 50% 42%,rgba(255,255,255,.96),rgba(243,246,250,.96) 68%,#edf1f6 100%);
    }

    .jpj-bridge-card-image img{
        width:100%;
        height:100%;
        object-fit:contain;
        object-position:center;
        transform:none!important;
    }

    .jpj-bridge-card-badges{
        max-width:calc(100% - 28px);
    }
}

@media(max-width:500px){
    .jpj-bridge-card-image{
        height:auto;
        aspect-ratio:4 / 3;
    }
}


/* v0.9.6.7 — premium secondary CTA uplift */

.jpj-bridge-card-actions a{
    position:relative;
    overflow:hidden;
    gap:10px;
    border-width:1.5px;
    border-color:#dbe3ee;
    border-radius:14px;
    background:linear-gradient(180deg,#ffffff 0%,#f7faff 100%);
    box-shadow:0 10px 24px rgba(7,31,102,.08), inset 0 1px 0 rgba(255,255,255,.92);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
}

.jpj-bridge-card-actions a::before{
    content:"→";
    display:inline-grid;
    place-items:center;
    width:24px;
    height:24px;
    border-radius:9px;
    background:linear-gradient(135deg,#ef233c,#d71930);
    color:#fff;
    font-size:13px;
    font-weight:900;
    box-shadow:0 8px 16px rgba(239,35,60,.22);
    flex:0 0 24px;
}

.jpj-bridge-card-actions a:hover{
    transform:translateY(-1px);
    border-color:#f0a3ae;
    box-shadow:0 14px 28px rgba(7,31,102,.12), inset 0 1px 0 rgba(255,255,255,.92);
}


/* v0.9.6.8 — distinct listings card actions */

.jpj-bridge-card-actions .jpj-bridge-card-action{
    min-height:38px;
    padding:0 11px;
    border-radius:14px;
    font-size:10px;
    letter-spacing:-.01em;
}

.jpj-bridge-card-actions .jpj-bridge-card-action--view{
    border-color:#dbe3ee;
    background:linear-gradient(180deg,#ffffff 0%,#f7faff 100%);
    color:#071f66;
    box-shadow:0 10px 24px rgba(7,31,102,.08), inset 0 1px 0 rgba(255,255,255,.92);
}

.jpj-bridge-card-actions .jpj-bridge-card-action--view::before{
    content:"→";
    background:linear-gradient(135deg,#ef233c,#d71930);
    color:#fff;
    box-shadow:0 8px 16px rgba(239,35,60,.22);
}

.jpj-bridge-card-actions .jpj-bridge-card-action--view:hover{
    border-color:#f0a3ae;
    box-shadow:0 14px 28px rgba(7,31,102,.12), inset 0 1px 0 rgba(255,255,255,.92);
}

.jpj-bridge-card-actions .jpj-bridge-card-action--compare{
    border-color:#e7d2a1;
    background:linear-gradient(180deg,#fffaf0 0%,#fff1cf 100%);
    color:#533700;
    box-shadow:0 10px 24px rgba(83,55,0,.10), inset 0 1px 0 rgba(255,255,255,.88);
}

.jpj-bridge-card-actions .jpj-bridge-card-action--compare::before{
    content:"⇄";
    background:linear-gradient(135deg,#071f66,#163289);
    color:#ffd166;
    box-shadow:0 8px 16px rgba(7,31,102,.20);
}

.jpj-bridge-card-actions .jpj-bridge-card-action--compare:hover{
    border-color:#dbb763;
    box-shadow:0 14px 28px rgba(83,55,0,.14), inset 0 1px 0 rgba(255,255,255,.88);
}

.jpj-bridge-card-actions .jpj-bridge-card-action:focus-visible{
    outline:none;
}

.jpj-bridge-card-actions .jpj-bridge-card-action--view:focus-visible{
    box-shadow:0 0 0 3px rgba(239,35,60,.14), 0 14px 28px rgba(7,31,102,.12);
}

.jpj-bridge-card-actions .jpj-bridge-card-action--compare:focus-visible{
    box-shadow:0 0 0 3px rgba(219,183,99,.22), 0 14px 28px rgba(83,55,0,.14);
}

/* v0.9.6.9 — Micro-text & accessibility consistency polish
   Listings cards, filters and customer actions only. */
.jpj-bridge-card-badges b{
    font-size:10.5px;
}

.jpj-bridge-card-meta{
    font-size:10.5px;
    color:#66758a;
}

.jpj-bridge-card-specs small,
.jpj-bridge-card-footer > div:first-child small{
    font-size:10px;
    color:#66758a;
}

.jpj-bridge-card-specs strong{
    font-size:12.5px;
}

.jpj-bridge-card-actions a,
.jpj-bridge-card-actions .jpj-bridge-card-action{
    min-height:44px;
    font-size:11px;
}

.jpj-bridge-test-drive{
    min-height:46px;
    font-size:11.5px;
}

.jpj-bridge-search label > span,
.jpj-bridge-filter-grid label > span{
    font-size:10.5px;
    color:#5f6f84;
}

.jpj-bridge-search-top > button,
.jpj-bridge-filter-actions button{
    min-height:44px;
    font-size:11.5px;
}

.jpj-bridge-filter-panel summary b{
    font-size:10px;
}

.jpj-bridge-filter-actions a{
    min-height:44px;
    font-size:11px;
}

.jpj-bridge-results-bar span{
    font-size:10.5px;
}

.jpj-bridge-note > span,
.jpj-bridge-empty > span{
    font-size:10.5px;
}

.jpj-bridge-note p{
    font-size:11px;
}

.jpj-bridge-note a,
.jpj-bridge-empty a{
    min-height:44px;
    align-items:center;
    font-size:11.5px;
}

@media(max-width:520px){
    .jpj-bridge-header nav a{
        min-height:44px;
        display:inline-flex;
        align-items:center;
        font-size:12px;
    }
}
