/**
 * Equipment Dealer — front-end styles (self-contained).
 *
 * Scoped to .eqdealer-* so it won't fight Kadence, Astra, or any theme.
 * Editorial-industrial: charcoal + cream + safety yellow, Oswald + Lora.
 */

.eqdealer-inventory,
.eqdealer-single,
.eqdealer-category-grid,
.eqdealer-grid {
    --eq-ink:#0E0E0E; --eq-ink-soft:#2A2A2A; --eq-paper:#F4F1EA; --eq-paper-pure:#FFF;
    --eq-yellow:#F5B800; --eq-yellow-dark:#C99700; --eq-rust:#C24914;
    --eq-grey:#5A5A5A; --eq-grey-light:#E5E1D8; --eq-line:#3A3A3A;
    --eq-display:'Oswald',Impact,sans-serif; --eq-body:'Lora',Georgia,serif;
    --eq-ui:system-ui,-apple-system,'Segoe UI',sans-serif;
    box-sizing:border-box;
}
.eqdealer-inventory *,
.eqdealer-single *,
.eqdealer-category-grid *,
.eqdealer-grid * { box-sizing:border-box; }

/* ---------- Inventory layout ---------- */
.eqdealer-inventory {
    display:grid; grid-template-columns:280px 1fr; gap:40px;
    max-width:1400px; margin:0 auto; padding:32px 16px;
    font-family:var(--eq-ui); color:var(--eq-ink);
}
@media (max-width:900px){ .eqdealer-inventory{ grid-template-columns:1fr; gap:24px; } }

/* ---------- Filter sidebar ---------- */
.eqdealer-filters {
    background:var(--eq-paper-pure); border:1px solid var(--eq-grey-light);
    padding:24px; align-self:start; position:sticky; top:24px;
}
@media (max-width:900px){ .eqdealer-filters{ position:static; } }
.eqdealer-filter-group{ margin-bottom:18px; }
.eqdealer-filter-group label{
    display:block; font-family:var(--eq-display); font-size:12px;
    text-transform:uppercase; letter-spacing:.12em; font-weight:600;
    color:var(--eq-ink); margin-bottom:7px;
}
.eqdealer-filter-group input[type=text],
.eqdealer-filter-group input[type=number],
.eqdealer-filter-group select{
    width:100%; padding:10px 12px; border:1px solid var(--eq-grey-light);
    border-radius:0; font-size:14px; background:#fff; color:var(--eq-ink);
    font-family:var(--eq-ui);
}
.eqdealer-filter-group input:focus,
.eqdealer-filter-group select:focus{
    outline:none; border-color:var(--eq-ink); box-shadow:0 0 0 3px rgba(245,184,0,.25);
}
.eqdealer-price-range{ display:flex; align-items:center; gap:8px; }
.eqdealer-price-range input{ flex:1; min-width:0; }
.eqdealer-price-range span{ color:var(--eq-grey); }

/* ---------- Buttons ---------- */
.eqdealer-btn{
    display:inline-block; padding:13px 22px; border:2px solid var(--eq-ink);
    border-radius:0; font-family:var(--eq-display); font-size:13px; font-weight:600;
    text-transform:uppercase; letter-spacing:.12em; text-decoration:none;
    cursor:pointer; transition:all .15s; background:transparent; color:var(--eq-ink);
}
.eqdealer-btn-primary{ background:#F5B800; color:#0E0E0E; border-color:var(--eq-yellow); }
.eqdealer-btn-primary:hover{ background:var(--eq-ink); color:var(--eq-yellow); border-color:var(--eq-ink); }
.eqdealer-btn-block{ display:block; width:100%; text-align:center; margin-top:10px; }
.eqdealer-btn-text{
    background:none; border:none; color:var(--eq-grey); cursor:pointer;
    font-family:var(--eq-ui); font-size:13px; padding:8px; text-decoration:underline;
}
.eqdealer-btn-text:hover{ color:var(--eq-ink); }
.eqdealer-btn-large{ padding:16px 30px; font-size:15px; }

/* ---------- Toolbar (sort) ---------- */
.eqdealer-toolbar{ display:flex; justify-content:flex-end; margin-bottom:20px; }
.eqdealer-sort{
    padding:10px 14px; border:1px solid var(--eq-grey-light); background:#fff;
    font-family:var(--eq-ui); font-size:14px; color:var(--eq-ink); border-radius:0;
}

/* ---------- Results header ---------- */
.eqdealer-results-header{
    margin-bottom:20px; padding-bottom:14px; border-bottom:2px solid var(--eq-ink);
}
.eqdealer-results-header p{
    margin:0; text-transform:uppercase; letter-spacing:.08em;
    font-size:12px; font-weight:600; color:var(--eq-grey); font-family:var(--eq-display);
}

/* ---------- Grid + cards ---------- */
.eqdealer-grid{
    display:grid; grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr)); gap:28px;
}
.eqdealer-card{
    background:var(--eq-paper-pure); border:1px solid var(--eq-grey-light);
    overflow:hidden; display:flex; flex-direction:column;
    transition:box-shadow .25s, transform .25s, border-color .25s;
}
.eqdealer-card:hover{
    box-shadow:0 8px 32px rgba(14,14,14,.15); transform:translateY(-4px); border-color:var(--eq-ink);
}
.eqdealer-card-image{
    display:block; position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--eq-paper);
}
.eqdealer-card-image img{ width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.eqdealer-card:hover .eqdealer-card-image img{ transform:scale(1.06); }
.eqdealer-card-image-placeholder{
    display:flex; align-items:center; justify-content:center; width:100%; height:100%;
    color:var(--eq-grey); font-family:var(--eq-display); font-size:13px;
    text-transform:uppercase; letter-spacing:.15em;
}
.eqdealer-card-tag{
    position:absolute; top:14px; left:14px; background:#F5B800; color:#0E0E0E;
    padding:5px 11px; font-family:var(--eq-display); font-size:11px; font-weight:600;
    text-transform:uppercase; letter-spacing:.1em;
}
.eqdealer-card-body{ padding:22px; flex:1; display:flex; flex-direction:column; }
.eqdealer-card-title{
    font-family:var(--eq-display); font-size:21px; line-height:1.15; margin:0 0 16px;
    font-weight:600; text-transform:uppercase; letter-spacing:.02em;
}
.eqdealer-card-title a{ color:var(--eq-ink); text-decoration:none; }
.eqdealer-card-title a:hover{ color:var(--eq-rust); }
.eqdealer-card-specs{
    margin:0; padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:10px 16px;
}
.eqdealer-card-specs > div{ display:flex; flex-direction:column; }
.eqdealer-card-specs dt{
    color:var(--eq-grey); font-size:10px; text-transform:uppercase; letter-spacing:.1em;
    font-weight:600; margin-bottom:3px;
}
.eqdealer-card-specs dd{ margin:0; color:var(--eq-ink); font-weight:600; font-size:14px; }
.eqdealer-card-specs > div:first-child dd{
    color:var(--eq-ink); font-family:var(--eq-display); font-size:20px; font-weight:600;
}

/* ---------- Loading + no results ---------- */
.eqdealer-results{ transition:opacity .2s; }
.eqdealer-loading{
    display:flex; align-items:center; gap:10px; justify-content:center;
    padding:24px; color:var(--eq-grey); font-family:var(--eq-display);
    text-transform:uppercase; letter-spacing:.1em; font-size:13px;
}
.eqdealer-spinner{
    width:18px; height:18px; border:3px solid var(--eq-grey-light);
    border-top-color:var(--eq-yellow); border-radius:50%; animation:eqd-spin .8s linear infinite;
}
@keyframes eqd-spin{ to{ transform:rotate(360deg); } }
.eqdealer-no-results{
    padding:64px 24px; text-align:center; color:var(--eq-grey);
    background:var(--eq-paper-pure); border:1px dashed var(--eq-grey-light); font-family:var(--eq-body);
}
.eqdealer-no-results p:first-child{ font-family:var(--eq-display); text-transform:uppercase; letter-spacing:.1em; color:var(--eq-ink); font-size:18px; }

/* ---------- Pagination ---------- */
.eqdealer-pagination{
    display:flex; justify-content:center; gap:6px; margin-top:40px; padding-top:28px;
    border-top:1px solid var(--eq-grey-light); flex-wrap:wrap;
}
.eqdealer-pagination .page-numbers{
    display:inline-flex; align-items:center; justify-content:center; min-width:44px; height:44px;
    padding:0 14px; border:1px solid var(--eq-grey-light); color:var(--eq-ink); text-decoration:none;
    font-family:var(--eq-display); font-size:14px; font-weight:600; cursor:pointer;
}
.eqdealer-pagination .page-numbers:hover{ background:var(--eq-yellow); border-color:var(--eq-ink); }
.eqdealer-pagination .page-numbers.current{ background:var(--eq-ink); color:var(--eq-yellow); border-color:var(--eq-ink); }

/* ---------- Category tiles ---------- */
.eqdealer-category-grid{
    display:grid; grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr)); gap:2px;
    max-width:1400px; margin:0 auto; padding:0; background:var(--eq-grey-light); border:1px solid var(--eq-grey-light);
}
.eqdealer-category-tile{
    display:flex; flex-direction:column; justify-content:space-between; min-height:170px;
    padding:30px 26px; background:var(--eq-ink); color:var(--eq-paper); text-decoration:none;
    transition:background-color .2s, color .2s;
}
.eqdealer-category-tile:hover{ background:#F5B800; color:#0E0E0E; }
.eqdealer-category-name{
    font-family:var(--eq-display); font-size:26px; font-weight:600; text-transform:uppercase;
    letter-spacing:.02em; line-height:1.05; overflow-wrap:break-word; word-break:break-word;
}
.eqdealer-category-arrow{
    font-size:11px; font-family:var(--eq-ui); text-transform:uppercase; letter-spacing:.15em;
    opacity:.7; font-weight:600;
}

/* ---------- Single equipment page ---------- */
.eqdealer-single{ max-width:1400px; margin:0 auto; padding:32px 16px 64px; font-family:var(--eq-ui); color:var(--eq-ink); }
.eqdealer-breadcrumb{
    font-size:11px; color:var(--eq-grey); margin-bottom:24px; text-transform:uppercase;
    letter-spacing:.12em; font-weight:600;
}
.eqdealer-breadcrumb a{ color:var(--eq-grey); text-decoration:none; }
.eqdealer-breadcrumb a:hover{ color:var(--eq-ink); }
.eqdealer-breadcrumb span{ margin:0 8px; }
.eqdealer-single-grid{ display:grid; grid-template-columns:1.6fr 1fr; gap:48px; align-items:start; }
.eqdealer-single-left, .eqdealer-single-right{ min-width:0; }
.eqdealer-gallery, .eqdealer-gallery-thumbs{ min-width:0; max-width:100%; }
@media (max-width:900px){ .eqdealer-single-grid{ grid-template-columns:1fr; gap:32px; } }
.eqdealer-single-hero{ aspect-ratio:16/10; overflow:hidden; margin-bottom:12px; background:var(--eq-paper); }
.eqdealer-single-hero img{ width:100%; height:100%; object-fit:cover; display:block; }
.eqdealer-single-gallery{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.eqdealer-single-gallery a{ display:block; aspect-ratio:1/1; overflow:hidden; }
.eqdealer-single-gallery img{ width:100%; height:100%; object-fit:cover; transition:opacity .2s,transform .3s; }
.eqdealer-single-gallery a:hover img{ opacity:.9; transform:scale(1.05); }
.eqdealer-single-title{
    font-family:var(--eq-display); font-size:40px; line-height:1.05; margin:0 0 12px; font-weight:600;
    text-transform:uppercase; letter-spacing:.01em;
}
.eqdealer-single-price{
    font-family:var(--eq-display); font-size:44px; color:var(--eq-ink); margin:0 0 26px; font-weight:600;
    padding-bottom:18px; border-bottom:4px solid var(--eq-yellow); display:inline-block;
}
.eqdealer-single-specs{
    display:grid; grid-template-columns:repeat(2,1fr); gap:16px 32px; margin:0 0 28px; padding:26px;
    background:var(--eq-paper); border:1px solid var(--eq-grey-light);
}
.eqdealer-single-specs > div{ display:flex; flex-direction:column; padding-bottom:12px; border-bottom:1px solid var(--eq-grey-light); }
.eqdealer-single-specs dt{ font-size:10px; text-transform:uppercase; letter-spacing:.12em; color:var(--eq-grey); margin-bottom:4px; font-weight:600; }
.eqdealer-single-specs dd{ margin:0; font-family:var(--eq-display); font-weight:600; font-size:18px; color:var(--eq-ink); }
.eqdealer-single-cta{
    background:var(--eq-ink); color:var(--eq-paper); padding:32px; text-align:center; margin-bottom:24px;
    border-top:4px solid var(--eq-yellow);
}
.eqdealer-cta-headline{ font-family:var(--eq-display); font-size:22px; font-weight:600; margin:0 0 6px; text-transform:uppercase; letter-spacing:.04em; }
.eqdealer-cta-sub{ margin:0 0 20px; opacity:.75; font-size:14px; font-family:var(--eq-body); font-style:italic; }
.eqdealer-single-cta .eqdealer-btn-primary{ background:#F5B800; color:#0E0E0E; border-color:var(--eq-yellow); }
.eqdealer-single-cta .eqdealer-btn-primary:hover{ background:var(--eq-paper); color:var(--eq-ink); border-color:var(--eq-paper); }
.eqdealer-single-description{ margin-top:36px; line-height:1.75; font-family:var(--eq-body); font-size:16px; color:var(--eq-ink-soft); }
.eqdealer-single-description h2{
    font-family:var(--eq-display); font-size:24px; margin:0 0 16px; color:var(--eq-ink);
    text-transform:uppercase; letter-spacing:.04em; font-weight:600; padding-bottom:8px; border-bottom:2px solid var(--eq-ink);
}

/* ---------- Grouped spec sections (single page) ---------- */
.eqdealer-spec-sections{ margin-top:40px; }
.eqdealer-spec-title{
    font-family:var(--eq-display); font-size:24px; margin:0 0 20px; color:var(--eq-ink);
    text-transform:uppercase; letter-spacing:.04em; font-weight:600;
    padding-bottom:8px; border-bottom:2px solid var(--eq-ink);
}
.eqdealer-spec-group{ margin-bottom:28px; }
.eqdealer-spec-group-title{
    font-family:var(--eq-display); font-size:13px; text-transform:uppercase; letter-spacing:.14em;
    color:var(--eq-rust); font-weight:600; margin:0 0 12px; padding-bottom:6px;
    border-bottom:1px solid var(--eq-grey-light);
}
.eqdealer-spec-list{ margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0 32px; }
@media (max-width:600px){ .eqdealer-spec-list{ grid-template-columns:1fr; } }
.eqdealer-spec-item{
    display:flex; justify-content:space-between; gap:16px; padding:9px 0;
    border-bottom:1px solid var(--eq-grey-light);
}
.eqdealer-spec-item dt{ color:var(--eq-grey); font-size:14px; font-family:var(--eq-ui); }
.eqdealer-spec-item dd{ margin:0; color:var(--eq-ink); font-weight:600; font-size:14px; font-family:var(--eq-ui); text-align:right; }

/* ---------- Listing action buttons ---------- */
.eqdealer-action-buttons{ display:flex; flex-direction:column; gap:10px; margin-top:4px; }
.eqdealer-btn-ghost{
    background:transparent; color:var(--eq-paper); border:2px solid rgba(244,241,234,.4);
}
.eqdealer-btn-ghost:hover{ background:var(--eq-paper); color:var(--eq-ink); border-color:var(--eq-paper); }

/* ---------- Modal ---------- */
.eqdealer-modal{ position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; padding:20px; }
.eqdealer-modal[hidden]{ display:none; }
.eqdealer-modal-overlay{ position:absolute; inset:0; background:rgba(14,14,14,.7); backdrop-filter:blur(2px); }
.eqdealer-modal-box{
    position:relative; z-index:1; background:var(--eq-paper-pure); max-width:520px; width:100%;
    max-height:90vh; overflow-y:auto; padding:36px; border-top:4px solid var(--eq-yellow);
    box-shadow:0 24px 64px rgba(0,0,0,.4);
}
.eqdealer-modal-close{
    position:absolute; top:14px; right:16px; background:none; border:none; font-size:28px; line-height:1;
    color:var(--eq-grey); cursor:pointer; padding:4px;
}
.eqdealer-modal-close:hover{ color:var(--eq-ink); }
.eqdealer-modal-title{
    font-family:var(--eq-display); font-size:26px; text-transform:uppercase; letter-spacing:.03em;
    margin:0 0 6px; color:var(--eq-ink); font-weight:600;
}
.eqdealer-modal-unit{
    font-family:var(--eq-body); font-size:14px; color:var(--eq-grey); margin:0 0 20px;
    padding-bottom:16px; border-bottom:1px solid var(--eq-grey-light);
}
.eqdealer-modal-unit strong{ color:var(--eq-ink); }
/* Style CF7 fields inside the modal to match */
.eqdealer-modal-box input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.eqdealer-modal-box textarea,
.eqdealer-modal-box select{
    width:100%; padding:11px 13px; border:1px solid var(--eq-grey-light); border-radius:0;
    font-family:var(--eq-ui); font-size:15px; margin-top:4px; background:#fff;
}
.eqdealer-modal-box input:focus, .eqdealer-modal-box textarea:focus{
    outline:none; border-color:var(--eq-ink); box-shadow:0 0 0 3px rgba(245,184,0,.25);
}
.eqdealer-modal-box .wpcf7-submit{
    background:#F5B800; color:#0E0E0E; border:2px solid var(--eq-yellow); border-radius:0;
    font-family:var(--eq-display); text-transform:uppercase; letter-spacing:.1em; font-weight:600;
    padding:13px 26px; cursor:pointer; width:100%; margin-top:8px; font-size:14px;
}
.eqdealer-modal-box .wpcf7-submit:hover{ background:var(--eq-ink); color:var(--eq-yellow); border-color:var(--eq-ink); }
@media (max-width:520px){ .eqdealer-modal-box{ padding:28px 20px; } }

/* ---------- Mobile reorder: title → price → buttons → photos → details ----------
   Desktop keeps the 2-column layout. On phones we flatten both columns
   (display:contents) and reorder the individual blocks for a buyer-first flow. */
@media (max-width:900px){
    .eqdealer-single-grid{ grid-template-columns:1fr; gap:22px; display:flex; flex-direction:column; }
    .eqdealer-single-left,
    .eqdealer-single-right{ display:contents; }

    .eqdealer-single-title{ order:1; font-size:30px; margin-bottom:4px; }
    .eqdealer-single-price{ order:2; font-size:34px; margin-bottom:18px; }
    .eqdealer-gallery{ order:3; }
    .eqdealer-single-hero{ order:3; }
    .eqdealer-single-specs{ order:4; }
    .eqdealer-single-cta{ order:5; }
    .eqdealer-tabs{ order:6; }
    /* modals are fixed overlays — order is irrelevant, keep them out of the way */
    .eqdealer-modal{ order:99; }
}

/* ---------- Mobile: collapse filters behind a button, show results first ---------- */
.eqdealer-filters-toggle{ display:none; }
@media (max-width:900px){
    .eqdealer-inventory{ display:flex; flex-direction:column; gap:16px; overflow-x:hidden; }
    .eqdealer-filters-toggle{
        display:flex; align-items:center; justify-content:center; gap:8px;
        order:1; width:100%; padding:14px 18px; cursor:pointer;
        background:var(--eq-ink); color:#fff; border:none;
        font-family:var(--eq-display); font-size:14px; font-weight:600;
        text-transform:uppercase; letter-spacing:.12em;
    }
    .eqdealer-filters-toggle::after{ content:"▾"; font-size:12px; }
    .eqdealer-inventory.filters-open .eqdealer-filters-toggle::after{ content:"▴"; }
    .eqdealer-filters{ order:2; display:none; margin:0; }
    .eqdealer-inventory.filters-open .eqdealer-filters{ display:block; }
    .eqdealer-results-wrap{ order:3; }
}

/* ---------- Listing video (YouTube/Vimeo embed) ---------- */
.eqdealer-single-video{ margin-top:24px; }
.eqdealer-single-video h2{
    font-family:var(--eq-display); font-size:20px; text-transform:uppercase; letter-spacing:.04em;
    margin:0 0 12px; color:var(--eq-ink); font-weight:600;
}
.eqdealer-video-frame{ position:relative; aspect-ratio:16/9; background:var(--eq-ink); }
.eqdealer-video-frame iframe,
.eqdealer-video-frame embed,
.eqdealer-video-frame object,
.eqdealer-video-frame video{ position:absolute; inset:0; width:100%; height:100%; border:0; }
@media (max-width:900px){ .eqdealer-single-video{ order:6; } }

/* ---------- Photo lightbox ---------- */
.eqdealer-lightbox-trigger{ cursor:pointer; display:block; }
.eqdealer-single-hero .eqdealer-lightbox-trigger img{ display:block; width:100%; }
.eqdealer-lightbox{ position:fixed; inset:0; z-index:10000; display:flex; align-items:center; justify-content:center; }
.eqdealer-lightbox[hidden]{ display:none; }
.eqdealer-lightbox-overlay{ position:absolute; inset:0; background:rgba(8,8,8,.93); }
.eqdealer-lightbox-stage{ position:relative; z-index:1; margin:0; }
.eqdealer-lightbox-stage img{ max-width:92vw; max-height:86vh; display:block; object-fit:contain; }
.eqdealer-lightbox-count{ position:absolute; bottom:-32px; left:0; right:0; text-align:center;
    color:#bbb; font-family:var(--eq-ui); font-size:13px; letter-spacing:.12em; }
.eqdealer-lightbox-close{ position:absolute; top:18px; right:24px; z-index:2; background:none; border:0;
    color:#fff; font-size:42px; line-height:1; cursor:pointer; padding:4px; }
.eqdealer-lightbox-close:hover{ color:var(--eq-yellow); }
.eqdealer-lightbox-prev, .eqdealer-lightbox-next{ position:absolute; top:50%; transform:translateY(-50%);
    z-index:2; background:rgba(0,0,0,.45); border:0; color:#fff; font-size:46px; line-height:1;
    width:62px; height:84px; cursor:pointer; transition:background-color .15s, color .15s; }
.eqdealer-lightbox-prev{ left:12px; } .eqdealer-lightbox-next{ right:12px; }
.eqdealer-lightbox-prev:hover, .eqdealer-lightbox-next:hover{ background:#F5B800; color:#0E0E0E; }
@media (max-width:600px){
    .eqdealer-lightbox-prev, .eqdealer-lightbox-next{ width:46px; height:64px; font-size:32px; }
    .eqdealer-lightbox-stage img{ max-width:96vw; }
}

/* ---------- Listing gallery carousel ---------- */
.eqdealer-gallery-main{ width:100%; height:480px; background:var(--eq-paper); border:1px solid var(--eq-line);
    display:flex; align-items:center; justify-content:center; overflow:hidden; }
.eqdealer-gallery-main-img{ max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; display:block; cursor:zoom-in; }
.eqdealer-gallery-thumbs{
    display:flex; gap:8px; margin-top:10px; overflow-x:auto; padding-bottom:6px;
    scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch;
}
.eqdealer-gallery-thumbs::-webkit-scrollbar{ height:6px; }
.eqdealer-gallery-thumbs::-webkit-scrollbar-thumb{ background:var(--eq-grey-light); }
.eqdealer-gallery-thumb{
    flex:0 0 auto; width:96px; height:68px; padding:0; cursor:pointer; scroll-snap-align:center;
    background-size:cover; background-position:center; border:2px solid transparent; opacity:.7;
    transition:opacity .15s, border-color .15s;
}
.eqdealer-gallery-thumb:hover{ opacity:1; }
.eqdealer-gallery-thumb.is-active{ opacity:1; border-color:var(--eq-yellow); }
@media (max-width:900px){ .eqdealer-gallery{ order:3; } }
@media (max-width:600px){ .eqdealer-gallery-thumb{ width:78px; height:56px; } }

/* ---------- Listing tabs ---------- */
.eqdealer-tabs{ margin-top:30px; }
.eqdealer-tab-nav{ display:flex; flex-wrap:wrap; gap:4px; border-bottom:2px solid var(--eq-line); }
.eqdealer-tab{ font-family:var(--eq-ui); text-transform:uppercase; letter-spacing:.08em; font-size:13px;
    font-weight:600; background:none; border:0; border-bottom:3px solid transparent; padding:13px 18px;
    cursor:pointer; color:var(--eq-grey); margin-bottom:-2px; transition:color .15s, border-color .15s; }
.eqdealer-tab:hover{ color:var(--eq-ink); }
.eqdealer-tab.is-active{ color:var(--eq-ink); border-bottom-color:var(--eq-yellow); }
.eqdealer-tab-panel{ display:none; padding-top:24px; }
.eqdealer-tab-panel.is-active{ display:block; }
.eqdealer-tab-heading{ font-family:var(--eq-display); margin:0 0 8px; font-size:24px; }
.eqdealer-tab-stock{ font-size:.55em; color:var(--eq-grey); letter-spacing:.05em; font-family:var(--eq-ui); }
.eqdealer-tab-summary{ color:var(--eq-grey); margin:0 0 18px; }

/* ---------- Documents ---------- */
.eqdealer-docs-label{ font-family:var(--eq-ui); text-transform:uppercase; letter-spacing:.12em;
    font-size:12px; color:var(--eq-grey); margin:0 0 12px; }
.eqdealer-documents{ display:flex; flex-direction:column; gap:12px; max-width:480px; }
.eqdealer-doc-btn{ display:flex; align-items:center; gap:12px; padding:16px 22px; border:1px solid var(--eq-line);
    background:var(--eq-paper-pure); text-decoration:none; color:var(--eq-ink); font-family:var(--eq-ui);
    text-transform:uppercase; letter-spacing:.06em; font-size:14px; font-weight:600;
    transition:border-color .15s, background-color .15s; }
.eqdealer-doc-btn:hover{ border-color:var(--eq-yellow); background:var(--eq-paper); }
.eqdealer-doc-icon{ font-size:18px; line-height:1; }

/* ---------- Listing utilities (print / save / compare) ---------- */
.eqdealer-listing-utils{ display:flex; justify-content:flex-end; gap:10px; margin-bottom:14px; }
.eqdealer-util-btn{ background:none; border:1px solid var(--eq-line); padding:8px 15px; cursor:pointer;
    font-family:var(--eq-ui); text-transform:uppercase; letter-spacing:.06em; font-size:12px;
    color:var(--eq-grey); transition:border-color .15s, color .15s; }
.eqdealer-util-btn:hover{ border-color:var(--eq-ink); color:var(--eq-ink); }
@media (max-width:900px){ .eqdealer-tabs{ order:6; } }

/* ---------- Print ---------- */
@media print{
    .ey-header, .ey-footer, .ey-menu-toggle, #wpadminbar,
    .eqdealer-breadcrumb, .eqdealer-listing-utils, .eqdealer-tab-nav,
    .eqdealer-btn, .eqdealer-modal, .eqdealer-gallery-thumbs, .eqdealer-single-video{ display:none !important; }
    .eqdealer-tab-panel{ display:block !important; page-break-inside:avoid; padding-top:14px; }
    .eqdealer-tab-panel + .eqdealer-tab-panel{ border-top:1px solid #ccc; }
    .eqdealer-single-grid{ display:block !important; }
    .eqdealer-gallery-main{ max-width:440px; aspect-ratio:auto; }
    .eqdealer-gallery-main-img{ height:auto; }
    body{ background:#fff !important; color:#000 !important; }
    a[href]:after{ content:""; }
}

/* ===========================================================
   Watchlist + Compare
   =========================================================== */

/* ---- card action row ---- */
.eqdealer-card-actions{ display:flex; align-items:center; justify-content:space-between; gap:10px;
    margin-top:14px; padding-top:14px; border-top:1px solid var(--eq-line); }
.eqdealer-save-btn{ display:inline-flex; align-items:center; gap:6px; background:none; border:0; cursor:pointer;
    font-family:var(--eq-ui); text-transform:uppercase; letter-spacing:.05em; font-size:12px; font-weight:600;
    color:var(--eq-grey); padding:0; transition:color .15s; }
.eqdealer-save-btn:hover{ color:var(--eq-rust); }
.eqdealer-save-btn .eqd-heart{ font-size:16px; line-height:1; }
.eqdealer-save-btn.is-saved{ color:var(--eq-rust); }
.eqdealer-compare-toggle{ display:inline-flex; align-items:center; gap:6px; cursor:pointer;
    font-family:var(--eq-ui); text-transform:uppercase; letter-spacing:.05em; font-size:12px; font-weight:600;
    color:var(--eq-grey); }
.eqdealer-compare-toggle input{ accent-color:var(--eq-yellow); cursor:pointer; }

/* listing utils bar variants */
.eqdealer-util-btn.eqdealer-save-btn{ color:var(--eq-grey); }
.eqdealer-util-btn.eqdealer-save-btn.is-saved{ color:var(--eq-rust); border-color:var(--eq-rust); }
label.eqdealer-util-btn{ display:inline-flex; align-items:center; gap:7px; }

/* ---- header watchlist link ---- */
.ey-nav-watchlist{ display:inline-flex; align-items:center; gap:6px; font-family:var(--eq-ui);
    text-transform:uppercase; letter-spacing:.06em; font-size:13px; font-weight:600; color:var(--eq-ink);
    text-decoration:none; margin-left:18px; }
.ey-nav-watchlist:hover{ color:var(--eq-rust); }
.ey-watchlist-heart{ font-size:15px; }
.ey-watchlist-count{ display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px;
    padding:0 5px; background:var(--eq-rust); color:#fff; border-radius:9px; font-size:11px; line-height:1; }

/* ---- sticky compare bar ---- */
.eqdealer-compare-bar{ position:fixed; left:0; right:0; bottom:0; z-index:9000; display:flex; align-items:center;
    justify-content:space-between; gap:16px; padding:14px 22px; background:var(--eq-ink); color:#fff;
    font-family:var(--eq-ui); box-shadow:0 -4px 16px rgba(0,0,0,.25); }
.eqdealer-compare-bar-count{ text-transform:uppercase; letter-spacing:.06em; font-size:13px; }
.eqdealer-compare-bar-actions{ display:flex; align-items:center; gap:10px; }
.eqdealer-compare-bar-clear{ background:none; border:1px solid rgba(255,255,255,.4); color:#fff; padding:8px 14px;
    cursor:pointer; font-family:var(--eq-ui); text-transform:uppercase; letter-spacing:.06em; font-size:12px; }
.eqdealer-compare-bar-clear:hover{ border-color:#fff; }
.eqdealer-compare-bar-go{ background:#F5B800; color:#0E0E0E; padding:9px 18px; text-decoration:none;
    font-weight:700; text-transform:uppercase; letter-spacing:.06em; font-size:12px; }
.eqdealer-compare-bar-go:hover{ background:var(--eq-yellow-dark); }

/* ---- comparison table ---- */
.eqdealer-compare-wrap{ overflow-x:auto; }
.eqdealer-compare-table{ width:100%; border-collapse:collapse; min-width:560px; }
.eqdealer-compare-table th, .eqdealer-compare-table td{ border:1px solid var(--eq-line); padding:12px 14px;
    text-align:left; vertical-align:top; font-size:14px; }
.eqd-cmp-rowhead{ background:var(--eq-paper); font-family:var(--eq-ui); text-transform:uppercase;
    letter-spacing:.05em; font-size:12px; color:var(--eq-grey); width:160px; white-space:nowrap; }
.eqd-cmp-unit{ background:var(--eq-paper-pure); text-align:center !important; min-width:170px; }
.eqd-cmp-unit-link{ display:block; text-decoration:none; color:var(--eq-ink); }
.eqd-cmp-photo img{ width:100%; height:120px; object-fit:cover; display:block; margin-bottom:8px; }
.eqd-cmp-nophoto{ display:flex; align-items:center; justify-content:center; height:120px; background:var(--eq-paper);
    color:var(--eq-grey); font-size:12px; margin-bottom:8px; }
.eqd-cmp-name{ font-family:var(--eq-display); font-size:15px; line-height:1.2; display:block; }
.eqdealer-compare-remove{ margin-top:8px; background:none; border:0; color:var(--eq-rust); cursor:pointer;
    font-family:var(--eq-ui); text-transform:uppercase; letter-spacing:.05em; font-size:11px; }
.eqdealer-compare-remove:hover{ text-decoration:underline; }
.eqd-cmp-section th{ background:var(--eq-ink); color:#fff; font-family:var(--eq-ui); text-transform:uppercase;
    letter-spacing:.08em; font-size:12px; }
.eqd-cmp-dash{ color:var(--eq-grey-light); }

/* ---- watchlist / compare page chrome ---- */
.eqdealer-watchlist-empty, .eqdealer-compare-empty{ text-align:center; padding:48px 20px; color:var(--eq-grey); }
.eqdealer-loading{ padding:32px; text-align:center; color:var(--eq-grey); }

@media (max-width:600px){ .eqdealer-gallery-main{ height:300px; } }
body.eqdealer-has-compare-bar{ padding-bottom:80px; }

/* ===========================================================
   2026-05 mobile + listing polish
   Fixes cramped mobile listing pages, gallery sizing, CTA overlap,
   and sticky compare bar covering content.
   =========================================================== */
.eqdealer-single{
    width:100%;
    overflow-x:hidden;
}
.eqdealer-single-grid{
    width:100%;
}
.eqdealer-gallery-main{
    max-width:100%;
}
.eqdealer-single-specs dd,
.eqdealer-tab-heading,
.eqdealer-single-title{
    overflow-wrap:anywhere;
}

@media (min-width:901px){
    .eqdealer-single{
        padding-top:28px;
    }
    .eqdealer-single-grid{
        grid-template-columns:minmax(0,1.28fr) minmax(360px,.82fr);
        gap:42px;
    }
    .eqdealer-gallery-main{
        height:520px;
        background:#fff;
    }
    .eqdealer-single-right{
        position:sticky;
        top:92px;
    }
    .eqdealer-single-cta{
        margin-bottom:0;
    }
}

@media (max-width:900px){
    .eqdealer-single{
        padding:18px 14px 42px;
    }
    .eqdealer-breadcrumb,
    .eqdealer-listing-utils{
        display:none;
    }
    .eqdealer-single-grid{
        display:flex;
        flex-direction:column;
        gap:18px;
    }
    .eqdealer-single-left,
    .eqdealer-single-right{
        display:contents;
    }
    .eqdealer-single-title,
    .eqdealer-single-price,
    .eqdealer-gallery,
    .eqdealer-single-specs,
    .eqdealer-single-cta,
    .eqdealer-tabs{
        width:100%;
        max-width:100%;
        align-self:stretch;
    }
    .eqdealer-single-title{
        display:block !important;
        order:1;
        font-size:clamp(28px,8vw,38px);
        line-height:1.08;
        margin:0;
    }
    .eqdealer-single-price{
        order:2;
        font-size:clamp(36px,10vw,48px);
        line-height:1;
        margin:0 0 4px;
        padding-bottom:14px;
        border-bottom-width:4px;
    }
    .eqdealer-gallery{
        order:3;
        margin-top:4px;
    }
    .eqdealer-gallery-main{
        height:clamp(270px,72vw,430px);
        border-color:#9c9c9c;
        background:#fff;
    }
    .eqdealer-gallery-main-img{
        width:100%;
        height:100%;
        max-width:100%;
        max-height:100%;
        object-fit:contain;
    }
    .eqdealer-gallery-thumbs{
        gap:8px;
        margin-top:9px;
        padding-bottom:10px;
    }
    .eqdealer-gallery-thumb{
        width:82px;
        height:58px;
    }
    .eqdealer-single-specs{
        order:4;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px 22px;
        padding:22px 20px;
        margin:8px 0 4px;
        background:rgba(255,255,255,.45);
    }
    .eqdealer-single-specs > div{
        min-width:0;
        padding-bottom:11px;
    }
    .eqdealer-single-specs dt{
        font-size:9px;
        letter-spacing:.14em;
    }
    .eqdealer-single-specs dd{
        font-size:18px;
        line-height:1.18;
    }
    .eqdealer-single-cta{
        order:5;
        padding:28px 18px;
        margin:18px 0 0;
    }
    .eqdealer-action-buttons{
        gap:12px;
    }
    .eqdealer-single-cta .eqdealer-btn{
        white-space:normal;
        min-height:52px;
        display:flex;
        align-items:center;
        justify-content:center;
        line-height:1.2;
        padding:12px 14px;
        font-size:12px;
    }
    .eqdealer-tabs{
        order:6;
        margin-top:20px;
    }
    .eqdealer-tab-nav{
        gap:0;
        overflow-x:auto;
        flex-wrap:nowrap;
        -webkit-overflow-scrolling:touch;
    }
    .eqdealer-tab{
        flex:0 0 auto;
        padding:13px 16px;
        font-size:12px;
    }
    .eqdealer-tab-heading{
        font-size:26px;
        line-height:1.15;
    }
    .eqdealer-single-description{
        margin-top:24px;
        font-size:16px;
        line-height:1.7;
    }
}

@media (max-width:420px){
    .eqdealer-single{
        padding-left:12px;
        padding-right:12px;
    }
    .eqdealer-gallery-main{
        height:260px;
    }
    .eqdealer-gallery-thumb{
        width:74px;
        height:54px;
    }
    .eqdealer-single-specs{
        padding:20px 16px;
        gap:13px 18px;
    }
    .eqdealer-single-specs dd{
        font-size:17px;
    }
    .eqdealer-cta-headline{
        font-size:21px;
    }
}

@media (max-width:600px){
    body.eqdealer-has-compare-bar{
        padding-bottom:112px !important;
    }
    .eqdealer-compare-bar{
        padding:10px 12px calc(10px + env(safe-area-inset-bottom));
        gap:8px;
        flex-direction:column;
        align-items:stretch;
        text-align:center;
    }
    .eqdealer-compare-bar-count{
        font-size:11px;
    }
    .eqdealer-compare-bar-actions{
        width:100%;
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
    }
    .eqdealer-compare-bar-clear,
    .eqdealer-compare-bar-go{
        width:100%;
        padding:10px 8px;
        font-size:11px;
        text-align:center;
    }
}


/* Disable the floating compare bar site-wide. It should not appear on the home page or cover content. */
.eqdealer-compare-bar,
body .eqdealer-compare-bar{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
}
body.eqdealer-has-compare-bar{
    padding-bottom:0 !important;
}


/* Final listing page overrides: keep Save / Compare / Print, keep Overview description-only, and clean gallery border/background. */
.eqdealer-tab-panel[data-panel="overview"] > .eqdealer-overview-head,
.eqdealer-tab-panel[data-panel="overview"] > .eqdealer-overview-meta,
.eqdealer-tab-panel[data-panel="overview"] > .eqdealer-tab-summary:first-child{
    display:none !important;
}
.eqdealer-single-description{
    margin-top:0 !important;
}

/* Remove the hard black/white frame around the main photo shown in the screenshot. */
.eqdealer-gallery-main{
    border:0 !important;
    background:transparent !important;
    outline:0 !important;
}
.eqdealer-gallery-main-img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
}
@media (max-width:900px){
    .eqdealer-gallery-main-img{ object-fit:contain !important; }
}
.eqdealer-gallery-thumbs{
    background:transparent !important;
}
.eqdealer-gallery-thumb{
    border-color:transparent;
}
.eqdealer-gallery-thumb.is-active{
    border-color:var(--eq-yellow);
}

/* Photo counter badge on the main listing image */
.eqdealer-gallery-main{
    position:relative;
}
.eqdealer-photo-count{
    position:absolute;
    top:16px;
    left:16px;
    z-index:3;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:8px 13px;
    border-radius:5px;
    background:rgba(18,18,18,.72);
    color:#fff;
    font-family:var(--eq-ui);
    font-size:12px;
    font-weight:700;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.18em;
    pointer-events:none;
}
@media (max-width:600px){
    .eqdealer-photo-count{
        top:10px;
        left:10px;
        min-height:30px;
        padding:7px 10px;
        font-size:10px;
        letter-spacing:.14em;
    }
}

/* Documents moved to the right sidebar, below the contact / interest card. */
.eqdealer-doc-card{
    margin-top:18px;
    padding:24px;
    border:1px solid var(--eq-grey-light);
    background:rgba(255,255,255,.35);
}
.eqdealer-doc-card-title{
    margin:0 0 14px;
    color:var(--eq-grey);
    font-family:var(--eq-ui);
    font-size:10px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
}
.eqdealer-documents-sidebar{
    display:grid;
    gap:10px;
}
.eqdealer-documents-sidebar .eqdealer-doc-btn{
    width:100%;
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:12px 14px;
    border:1px solid var(--eq-grey-light);
    background:transparent;
    color:var(--eq-ink);
    font-family:var(--eq-ui);
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    text-decoration:none;
}
.eqdealer-documents-sidebar .eqdealer-doc-btn:hover{
    border-color:var(--eq-yellow);
    background:var(--eq-yellow);
    color:var(--eq-ink);
}
@media (max-width:900px){
    .eqdealer-doc-card{
        order:6;
        width:100%;
        max-width:100%;
        align-self:stretch;
        margin-top:0;
        padding:22px 18px;
    }
    .eqdealer-tabs{ order:7; }
}


/* Home/Inventory card category badge readability fix */
.eqdealer-card-image .eqdealer-card-tag,
.eqdealer-card .eqdealer-card-tag {
    display: inline-flex !important;
    align-items: center !important;
    max-width: calc(100% - 28px) !important;
    background: #F5B800 !important;
    color: #0E0E0E !important;
    border: 1px solid rgba(14,14,14,.18) !important;
    box-shadow: 0 4px 14px rgba(14,14,14,.22) !important;
    text-shadow: none !important;
    line-height: 1.15 !important;
    z-index: 4 !important;
    overflow-wrap: anywhere !important;
}


/* Listing status / sale badges */
.eqdealer-listing-badge{
    position:absolute;
    top:14px;
    right:14px;
    z-index:6;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:7px 12px;
    border-radius:3px;
    background:#0E0E0E;
    color:#fff;
    border:1px solid rgba(255,255,255,.28);
    box-shadow:0 5px 18px rgba(14,14,14,.26);
    font-family:var(--eq-display);
    font-size:11px;
    font-weight:700;
    line-height:1;
    letter-spacing:.13em;
    text-transform:uppercase;
    text-shadow:none;
    white-space:nowrap;
}
.eqdealer-listing-badge-sold{
    background:#B42318;
    color:#fff;
}
.eqdealer-listing-badge-sale,
.eqdealer-listing-badge-price-reduced{
    background:#F5B800;
    color:#0E0E0E;
    border-color:rgba(14,14,14,.18);
}
.eqdealer-listing-badge-pending,
.eqdealer-listing-badge-reserved{
    background:#23395B;
    color:#fff;
}
.eqdealer-listing-badge-new-arrival,
.eqdealer-listing-badge-coming-soon{
    background:#1F6F43;
    color:#fff;
}
.eqdealer-single-badge{
    top:16px;
    right:16px;
}
.eqdealer-single-title-badge{
    position:static;
    width:max-content;
    margin:0 0 10px;
}
@media (max-width:600px){
    .eqdealer-listing-badge{ top:10px; right:10px; font-size:10px; padding:6px 9px; }
    .eqdealer-card-tag{ max-width:calc(100% - 110px) !important; }
}


/* ---------- Inventory top search + grid/list view toggle ---------- */
.eqdealer-inventory-searchbar{
    display:flex;
    gap:10px;
    align-items:center;
    margin-bottom:16px;
    padding:14px;
    background:#fff;
    border:1px solid var(--eq-grey-light);
}
.eqdealer-search-top{
    flex:1;
    min-width:0;
    height:46px;
    border:1px solid var(--eq-grey-light);
    background:#fff;
    padding:0 14px;
    font-family:var(--eq-ui);
    font-size:15px;
    color:var(--eq-ink);
}
.eqdealer-search-top:focus{
    outline:none;
    border-color:var(--eq-ink);
    box-shadow:0 0 0 2px rgba(245,184,0,.25);
}
.eqdealer-search-submit{
    height:46px;
    white-space:nowrap;
}
.eqdealer-toolbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}
.eqdealer-view-toggle{
    display:inline-flex;
    border:1px solid var(--eq-grey-light);
    background:#fff;
    overflow:hidden;
}
.eqdealer-view-btn{
    border:0;
    background:#fff;
    color:var(--eq-ink);
    padding:10px 14px;
    font-family:var(--eq-display);
    font-size:12px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.08em;
    cursor:pointer;
}
.eqdealer-view-btn + .eqdealer-view-btn{ border-left:1px solid var(--eq-grey-light); }
.eqdealer-view-btn.is-active{
    background:#0E0E0E;
    color:#F5B800;
}
.eqdealer-view-list .eqdealer-grid{
    display:flex;
    flex-direction:column;
    gap:18px;
}
.eqdealer-view-list .eqdealer-card{
    flex-direction:row;
    min-height:210px;
}
.eqdealer-view-list .eqdealer-card:hover{
    transform:none;
}
.eqdealer-view-list .eqdealer-card-image{
    width:34%;
    min-width:300px;
    aspect-ratio:auto;
}
.eqdealer-view-list .eqdealer-card-body{
    padding:24px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.eqdealer-view-list .eqdealer-card-title{
    font-size:24px;
    margin-bottom:14px;
}
.eqdealer-view-list .eqdealer-card-specs{
    grid-template-columns:repeat(4,minmax(90px,1fr));
    gap:14px;
}
@media (max-width: 780px){
    .eqdealer-inventory-searchbar{
        flex-direction:column;
        align-items:stretch;
    }
    .eqdealer-search-submit{ width:100%; }
    .eqdealer-toolbar{
        align-items:stretch;
    }
    .eqdealer-view-toggle,
    .eqdealer-sort{
        width:100%;
    }
    .eqdealer-view-btn{
        flex:1;
    }
    .eqdealer-view-list .eqdealer-card{
        flex-direction:column;
        min-height:0;
    }
    .eqdealer-view-list .eqdealer-card-image{
        width:100%;
        min-width:0;
        aspect-ratio:4/3;
    }
    .eqdealer-view-list .eqdealer-card-specs{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
