/**
 * Auto Lot Dealer — front-end styles (self-contained).
 *
 * Scoped to .autolot-* so it won't fight Kadence, Astra, or any theme.
 * Base inventory styling; overridden by the Village Motors Pro design layer.
 */

.autolot-inventory,
.autolot-single,
.autolot-category-grid,
.autolot-grid {
    --alv-ink:#0E2038; --alv-ink-soft:#14202E; --alv-paper:#EEF1F3; --alv-paper-pure:#FFF;
    --alv-yellow:#C6A871; --alv-yellow-dark:#A8854F; --alv-rust:#A8854F;
    --alv-grey:#6B7785; --alv-grey-light:#DCE2E8; --alv-line:#0A0B0D;
    --alv-display:'Jost',system-ui,sans-serif; --alv-serif:'Cormorant Garamond',Georgia,serif; --alv-body:'Inter',system-ui,sans-serif;
    --alv-ui:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
    box-sizing:border-box;
}
.autolot-inventory *,
.autolot-single *,
.autolot-category-grid *,
.autolot-grid * { box-sizing:border-box; }

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

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

/* ---------- Buttons ---------- */
.autolot-btn{
    display:inline-block; padding:13px 22px; border:2px solid var(--alv-ink);
    border-radius:0; font-family:var(--alv-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(--alv-ink);
}
.autolot-btn-primary{ background:var(--alv-yellow); color:var(--alv-ink); border-color:var(--alv-yellow); }
.autolot-btn-primary:hover{ background:var(--alv-ink); color:var(--alv-yellow); border-color:var(--alv-ink); }
.autolot-btn-block{ display:block; width:100%; text-align:center; margin-top:10px; }
.autolot-btn-text{
    background:none; border:none; color:var(--alv-grey); cursor:pointer;
    font-family:var(--alv-ui); font-size:13px; padding:8px; text-decoration:underline;
}
.autolot-btn-text:hover{ color:var(--alv-ink); }
.autolot-btn-large{ padding:16px 30px; font-size:15px; }

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

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

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

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

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

/* ---------- Category tiles ---------- */
.autolot-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(--alv-grey-light); border:1px solid var(--alv-grey-light);
}
.autolot-category-tile{
    display:flex; flex-direction:column; justify-content:space-between; min-height:170px;
    padding:30px 26px; background:var(--alv-ink); color:var(--alv-paper); text-decoration:none;
    transition:background-color .2s, color .2s;
}
.autolot-category-tile:hover{ background:var(--alv-yellow); color:var(--alv-ink); }
.autolot-category-name{
    font-family:var(--alv-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;
}
.autolot-category-arrow{
    font-size:11px; font-family:var(--alv-ui); text-transform:uppercase; letter-spacing:.15em;
    opacity:.7; font-weight:600;
}

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

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

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

/* ---------- Modal ---------- */
.autolot-modal{ position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; padding:20px; }
.autolot-modal[hidden]{ display:none; }
.autolot-modal-overlay{ position:absolute; inset:0; background:rgba(12,12,14,.82); backdrop-filter:blur(4px); }
.autolot-modal-box{
    position:relative; z-index:1; background:var(--alv-paper-pure); max-width:540px; width:100%;
    max-height:92vh; overflow-y:auto; padding:46px 44px 40px; border-top:3px solid var(--alv-yellow);
    box-shadow:0 40px 90px rgba(0,0,0,.5); animation:alvModalIn .35s cubic-bezier(.2,.7,.2,1);
}
@keyframes alvModalIn{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
.autolot-modal-close{
    position:absolute; top:16px; right:18px; background:none; border:none; font-size:26px; line-height:1;
    color:var(--alv-grey); cursor:pointer; padding:4px; transition:color .15s;
}
.autolot-modal-close:hover{ color:var(--alv-ink); }
.autolot-modal-eyebrow{
    font-family:var(--alv-display); text-transform:uppercase; letter-spacing:.26em; font-size:11px;
    font-weight:600; color:var(--alv-yellow-dark); margin:0 0 10px;
}
.autolot-modal-title{
    font-family:var(--alv-display); font-size:28px; text-transform:uppercase; letter-spacing:.02em;
    margin:0 0 20px; color:var(--alv-ink); font-weight:700; line-height:1.1;
}
/* Premium "Vehicle You're Asking About" card — auto-fills with the listing */
.autolot-modal-vehicle{
    background:var(--alv-ink); border:1px solid var(--alv-yellow); border-radius:12px;
    padding:16px 18px 16px 22px; margin:0 0 26px; position:relative; overflow:hidden;
}
.autolot-modal-vehicle::before{
    content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--alv-yellow);
}
.autolot-modal-vehicle-label{
    display:block; font-family:var(--alv-display); text-transform:uppercase; letter-spacing:.2em;
    font-size:10px; font-weight:600; color:var(--alv-yellow); margin-bottom:7px;
}
.autolot-modal-vehicle-name{
    display:block; font-family:var(--alv-display); font-size:16px; font-weight:600;
    color:#fff; line-height:1.35; letter-spacing:.01em;
}
.autolot-modal-unit{ font-family:var(--alv-body); font-size:14px; color:var(--alv-grey); margin:0 0 20px; }
.autolot-modal-unit strong{ color:var(--alv-ink); }
/* Refined CF7 fields inside the modal */
.autolot-modal-box .wpcf7-form p{ margin:0 0 15px; }
.autolot-modal-box label{
    display:block; font-family:var(--alv-display); text-transform:uppercase; letter-spacing:.08em;
    font-size:11px; font-weight:600; color:var(--alv-grey);
}
.autolot-modal-box input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.autolot-modal-box textarea,
.autolot-modal-box select{
    width:100%; padding:13px 15px; border:1px solid var(--alv-grey-light); border-radius:9px;
    font-family:var(--alv-ui); font-size:15px; margin-top:6px; background:#fff; color:var(--alv-ink);
    transition:border-color .15s, box-shadow .15s;
}
.autolot-modal-box textarea{ min-height:120px; resize:vertical; }
.autolot-modal-box input:focus, .autolot-modal-box textarea:focus, .autolot-modal-box select:focus{
    outline:none; border-color:var(--alv-yellow); box-shadow:0 0 0 3px rgba(201,162,75,.2);
}
.autolot-modal-box input[readonly]{ background:var(--alv-paper); color:var(--alv-grey); cursor:default; }
.autolot-modal-box .wpcf7-submit{
    background:var(--alv-yellow); color:var(--alv-ink); border:2px solid var(--alv-yellow); border-radius:9px;
    font-family:var(--alv-display); text-transform:uppercase; letter-spacing:.12em; font-weight:600;
    padding:15px 28px; cursor:pointer; width:100%; margin-top:10px; font-size:13px;
    transition:background .15s, color .15s;
}
.autolot-modal-box .wpcf7-submit:hover{ background:var(--alv-ink); color:var(--alv-yellow); border-color:var(--alv-ink); }
@media (max-width:520px){ .autolot-modal-box{ padding:34px 22px 30px; } .autolot-modal-title{ font-size:24px; } }

/* ---- Built-in inquiry forms (Request Info / Quote / Purchase Agreement) ---- */
.al-inq-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.al-inq-form p{ margin:0 0 15px; }
.al-inq-form .al-inq-row{ display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }
.al-inq-form .al-inq-row-3{ grid-template-columns:1fr 1fr 1fr; }
.al-inq-form .al-inq-row p{ margin:0 0 15px; }
.autolot-modal-box .al-inq-form input[type=file]{ padding:11px 13px; font-size:13px; background:var(--alv-paper); cursor:pointer; }
.al-inq-form .al-inq-hint{ display:block; font-family:var(--alv-body); text-transform:none; letter-spacing:normal; font-weight:400; font-size:12px; color:var(--alv-grey); margin-top:5px; }
.al-inq-form .al-inq-consent{ margin:4px 0 16px; }
.al-inq-form .al-inq-consent label{ display:flex; align-items:flex-start; gap:11px; font-family:var(--alv-body); text-transform:none; letter-spacing:normal; font-weight:400; font-size:13px; line-height:1.5; color:var(--alv-grey); }
.autolot-modal-box .al-inq-form .al-inq-consent input[type=checkbox]{ width:18px; height:18px; margin:2px 0 0; flex:0 0 auto; accent-color:var(--alv-yellow); }
.autolot-modal-box .al-inq-submit{
    background:var(--alv-yellow); color:var(--alv-ink); border:2px solid var(--alv-yellow); border-radius:9px;
    font-family:var(--alv-display); text-transform:uppercase; letter-spacing:.12em; font-weight:600;
    padding:15px 28px; cursor:pointer; width:100%; margin-top:6px; font-size:13px; transition:background .15s, color .15s;
}
.autolot-modal-box .al-inq-submit:hover{ background:var(--alv-ink); color:var(--alv-yellow); border-color:var(--alv-ink); }
.autolot-modal-box .al-inq-submit:disabled{ opacity:.6; cursor:default; }
.al-inq-status{ font-family:var(--alv-body); font-size:14px; line-height:1.55; margin-top:14px; }
.al-inq-status.is-ok{ background:#eef7ee; border:1px solid #cfe6cf; color:#1e6b2e; padding:14px 16px; border-radius:9px; }
.al-inq-status.is-err{ background:#fdecea; border:1px solid #f5c6c2; color:#b3261e; padding:13px 15px; border-radius:9px; }
@media (max-width:520px){ .al-inq-form .al-inq-row, .al-inq-form .al-inq-row-3{ grid-template-columns:1fr; } }

/* ---------- 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){
    .autolot-single-grid{ grid-template-columns:1fr; gap:22px; display:flex; flex-direction:column; }
    .autolot-single-left,
    .autolot-single-right{ display:contents; }

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

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

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

/* ---------- Photo lightbox ---------- */
.autolot-lightbox-trigger{ cursor:pointer; display:block; }
.autolot-single-hero .autolot-lightbox-trigger img{ display:block; width:100%; }
.autolot-lightbox{ position:fixed; inset:0; z-index:10000; display:flex; align-items:center; justify-content:center; }
.autolot-lightbox[hidden]{ display:none; }
.autolot-lightbox-overlay{ position:absolute; inset:0; background:rgba(8,8,8,.93); }
.autolot-lightbox-stage{ position:relative; z-index:1; margin:0; }
.autolot-lightbox-stage img{ max-width:92vw; max-height:86vh; display:block; object-fit:contain; }
.autolot-lightbox-count{ position:absolute; bottom:-32px; left:0; right:0; text-align:center;
    color:#bbb; font-family:var(--alv-ui); font-size:13px; letter-spacing:.12em; }
.autolot-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; }
.autolot-lightbox-close:hover{ color:var(--alv-yellow); }
.autolot-lightbox-prev, .autolot-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; }
.autolot-lightbox-prev{ left:12px; } .autolot-lightbox-next{ right:12px; }
.autolot-lightbox-prev:hover, .autolot-lightbox-next:hover{ background:var(--alv-yellow); color:var(--alv-ink); }
@media (max-width:600px){
    .autolot-lightbox-prev, .autolot-lightbox-next{ width:46px; height:64px; font-size:32px; }
    .autolot-lightbox-stage img{ max-width:96vw; }
}

/* ---------- Listing gallery carousel ---------- */
.autolot-gallery-main{ width:100%; height:480px; background:var(--alv-paper); border:1px solid var(--alv-line);
    display:flex; align-items:center; justify-content:center; overflow:hidden; }
.autolot-gallery-main-img{ max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; display:block; cursor:zoom-in; }
.autolot-gallery-thumbs{
    display:flex; gap:8px; margin-top:10px; overflow-x:auto; padding-bottom:6px;
    scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch;
}
.autolot-gallery-thumbs::-webkit-scrollbar{ height:6px; }
.autolot-gallery-thumbs::-webkit-scrollbar-thumb{ background:var(--alv-grey-light); }
.autolot-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;
}
.autolot-gallery-thumb:hover{ opacity:1; }
.autolot-gallery-thumb.is-active{ opacity:1; border-color:var(--alv-yellow); }
@media (max-width:900px){ .autolot-gallery{ order:3; } }
@media (max-width:600px){ .autolot-gallery-thumb{ width:78px; height:56px; } }

/* ---------- Listing tabs ---------- */
.autolot-tabs{ margin-top:30px; }
.autolot-tab-nav{ display:flex; flex-wrap:wrap; gap:4px; border-bottom:2px solid var(--alv-line); }
.autolot-tab{ font-family:var(--alv-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(--alv-grey); margin-bottom:-2px; transition:color .15s, border-color .15s; }
.autolot-tab:hover{ color:var(--alv-ink); }
.autolot-tab.is-active{ color:var(--alv-ink); border-bottom-color:var(--alv-yellow); }
.autolot-tab-panel{ display:none; padding-top:24px; }
.autolot-tab-panel.is-active{ display:block; }
.autolot-tab-heading{ font-family:var(--alv-display); margin:0 0 8px; font-size:24px; }
.autolot-tab-stock{ font-size:.55em; color:var(--alv-grey); letter-spacing:.05em; font-family:var(--alv-ui); }
.autolot-tab-summary{ color:var(--alv-grey); margin:0 0 18px; }

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

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

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

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

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

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

/* ---- header watchlist link ---- */
.al-nav-watchlist{ display:inline-flex; align-items:center; gap:6px; font-family:var(--al-display,sans-serif);
    text-transform:uppercase; letter-spacing:.06em; font-size:13px; font-weight:600; color:var(--al-ink,#0E2038);
    text-decoration:none; margin-left:18px; }
.al-nav-watchlist:hover{ color:var(--al-yellow-dark,#A8854F); }
.al-watchlist-heart{ font-size:15px; }
.al-watchlist-count{ display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px;
    padding:0 5px; background:var(--al-yellow-dark,#A8854F); color:#fff; border-radius:9px; font-size:11px; line-height:1; }
.al-watchlist-count[hidden]{ display:none; }   /* hide the counter when watchlist is empty */

/* mobile off-canvas menu: light text on the dark panel, full-width row */
@media (max-width:768px){
    .al-nav-watchlist{ display:flex; width:100%; margin-left:0; gap:8px; padding:16px 0;
        border-bottom:1px solid var(--al-line,#0A0B0D); color:var(--al-paper,#EEF1F3);
        font-size:16px; letter-spacing:.08em; }
    .al-nav-watchlist:hover{ color:var(--al-yellow,#C6A871); }
    .al-watchlist-heart{ font-size:18px; }
}

/* ---- sticky compare bar ---- */
.autolot-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(--alv-ink); color:#fff;
    font-family:var(--alv-ui); box-shadow:0 -4px 16px rgba(0,0,0,.25); }
.autolot-compare-bar-count{ text-transform:uppercase; letter-spacing:.06em; font-size:13px; }
.autolot-compare-bar-actions{ display:flex; align-items:center; gap:10px; }
.autolot-compare-bar-clear{ background:none; border:1px solid rgba(255,255,255,.4); color:#fff; padding:8px 14px;
    cursor:pointer; font-family:var(--alv-ui); text-transform:uppercase; letter-spacing:.06em; font-size:12px; }
.autolot-compare-bar-clear:hover{ border-color:#fff; }
.autolot-compare-bar-go{ background:var(--alv-yellow); color:var(--alv-ink); padding:9px 18px; text-decoration:none;
    font-weight:700; text-transform:uppercase; letter-spacing:.06em; font-size:12px; }
.autolot-compare-bar-go:hover{ background:var(--alv-yellow-dark); }

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

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

@media (max-width:600px){ .autolot-gallery-main{ height:300px; } }
body.autolot-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.
   =========================================================== */
.autolot-single{
    width:100%;
    overflow-x:hidden;
}
.autolot-single-grid{
    width:100%;
}
.autolot-gallery-main{
    max-width:100%;
}
.autolot-single-specs dd,
.autolot-tab-heading,
.autolot-single-title{
    overflow-wrap:anywhere;
}

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

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

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

@media (max-width:600px){
    body.autolot-has-compare-bar{
        padding-bottom:112px !important;
    }
    .autolot-compare-bar{
        padding:10px 12px calc(10px + env(safe-area-inset-bottom));
        gap:8px;
        flex-direction:column;
        align-items:stretch;
        text-align:center;
    }
    .autolot-compare-bar-count{
        font-size:11px;
    }
    .autolot-compare-bar-actions{
        width:100%;
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
    }
    .autolot-compare-bar-clear,
    .autolot-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. */
.autolot-compare-bar,
body .autolot-compare-bar{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
}
body.autolot-has-compare-bar{
    padding-bottom:0 !important;
}


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

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

/* Photo counter badge on the main listing image */
.autolot-gallery-main{
    position:relative;
}
.autolot-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(--alv-ui);
    font-size:12px;
    font-weight:700;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.18em;
    pointer-events:none;
}
@media (max-width:600px){
    .autolot-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. */
.autolot-doc-card{
    margin-top:18px;
    padding:24px;
    border:1px solid var(--alv-grey-light);
    background:rgba(255,255,255,.35);
}
.autolot-doc-card-title{
    margin:0 0 14px;
    color:var(--alv-grey);
    font-family:var(--alv-ui);
    font-size:10px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
}
.autolot-documents-sidebar{
    display:grid;
    gap:10px;
}
.autolot-documents-sidebar .autolot-doc-btn{
    width:100%;
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:12px 14px;
    border:1px solid var(--alv-grey-light);
    background:transparent;
    color:var(--alv-ink);
    font-family:var(--alv-ui);
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    text-decoration:none;
}
.autolot-documents-sidebar .autolot-doc-btn:hover{
    border-color:var(--alv-yellow);
    background:var(--alv-yellow);
    color:var(--alv-ink);
}
@media (max-width:900px){
    .autolot-doc-card{
        order:6;
        width:100%;
        max-width:100%;
        align-self:stretch;
        margin-top:0;
        padding:22px 18px;
    }
    .autolot-tabs{ order:7; }
}


/* Home/Inventory card category badge readability fix */
.autolot-card-image .autolot-card-tag,
.autolot-card .autolot-card-tag {
    display: inline-flex !important;
    align-items: center !important;
    max-width: calc(100% - 28px) !important;
    background: var(--alv-yellow) !important;
    color: var(--alv-ink) !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 */
.autolot-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:var(--alv-ink);
    color:#fff;
    border:1px solid rgba(255,255,255,.28);
    box-shadow:0 5px 18px rgba(14,14,14,.26);
    font-family:var(--alv-display);
    font-size:11px;
    font-weight:700;
    line-height:1;
    letter-spacing:.13em;
    text-transform:uppercase;
    text-shadow:none;
    white-space:nowrap;
}
.autolot-listing-badge-sold{
    background:#B42318;
    color:#fff;
}
.autolot-listing-badge-sale,
.autolot-listing-badge-price-reduced{
    background:var(--alv-yellow);
    color:var(--alv-ink);
    border-color:rgba(14,14,14,.18);
}
.autolot-listing-badge-pending,
.autolot-listing-badge-reserved{
    background:#23395B;
    color:#fff;
}
.autolot-listing-badge-new-arrival,
.autolot-listing-badge-coming-soon{
    background:#1F6F43;
    color:#fff;
}
.autolot-single-badge{
    top:16px;
    right:16px;
}
.autolot-single-title-badge{
    position:static;
    width:max-content;
    margin:0 0 10px;
}
@media (max-width:600px){
    .autolot-listing-badge{ top:10px; right:10px; font-size:10px; padding:6px 9px; }
    .autolot-card-tag{ max-width:calc(100% - 110px) !important; }
}


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

/* ---------- Modern showroom restyle (appended; wins cascade) ---------- */
.autolot-inventory h1, .autolot-inventory h2, .autolot-inventory h3,
.autolot-single h1, .autolot-single h2, .autolot-single h3 { text-transform:none; letter-spacing:-0.015em; }

/* Rounded cards + soft shadows */
.autolot-card {
    border-radius:16px; overflow:hidden;
    border:1px solid var(--alv-grey-light);
    background:#fff;
    box-shadow:0 14px 40px -30px rgba(12,12,14,.55);
    transition:transform .18s ease, box-shadow .18s ease;
}
.autolot-card:hover { transform:translateY(-3px); box-shadow:0 24px 50px -26px rgba(12,12,14,.55); }
.autolot-card-image img { transition:transform .4s ease; }
.autolot-card:hover .autolot-card-image img { transform:scale(1.04); }

/* Inputs, selects, filter card, buttons -> rounded */
.autolot-filters { border-radius:18px; border:1px solid var(--alv-grey-light); background:#fff; }
.autolot-filter-group input[type=text],
.autolot-filter-group input[type=number],
.autolot-filter-group select { border-radius:10px; }
.autolot-search-top { border-radius:12px; }
.autolot-btn { border-radius:12px; text-transform:none; letter-spacing:.005em; font-family:var(--alv-display); }
.autolot-btn-primary { background:var(--alv-yellow); border-color:var(--alv-yellow); color:var(--alv-ink); }
.autolot-btn-primary:hover { background:var(--alv-yellow-dark); border-color:var(--alv-yellow-dark); color:var(--alv-ink); }
.autolot-listing-badge { border-radius:999px; }
.autolot-card-tag { border-radius:999px; }

/* Single listing tweaks */
.autolot-gallery-main, .autolot-gallery-main-img { border-radius:16px; }
.autolot-single-right { border-radius:18px; }
.autolot-doc-btn, .autolot-spec-group { border-radius:12px; }
.autolot-single-price { color:var(--alv-yellow); }

/* Body-type tiles */
.autolot-category-grid { background:transparent !important; border:0 !important; gap:14px !important; }
.autolot-category-tile { border-radius:14px; border:1px solid var(--alv-grey-light); background:#fff; color:var(--alv-ink); transition:all .18s ease; }
.autolot-category-tile:hover { background:#fff; color:var(--alv-ink); border-color:var(--alv-yellow); box-shadow:0 12px 30px -20px rgba(201,162,75,.6); transform:translateY(-2px); }
.autolot-category-name { color:var(--alv-ink); }
.autolot-category-arrow { color:var(--alv-yellow); opacity:1; }

/* ---------- Finance calculator ([vehicle_finance_calc]) ---------- */
.autolot-finance-calc {
    font-family:'Inter',system-ui,sans-serif;
    max-width:720px; background:#fff; border:1px solid var(--alv-grey-light);
    border-radius:18px; padding:28px; box-shadow:0 18px 50px -34px rgba(12,12,14,.6);
}
.autolot-finance-title { font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; margin:0 0 18px; font-size:22px; }
.autolot-finance-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px; }
.autolot-finance-grid label { display:flex; flex-direction:column; gap:6px; font-size:13px; font-weight:600; color:var(--alv-grey); }
.autolot-finance-grid input, .autolot-finance-grid select {
    padding:10px 12px; border:1px solid var(--alv-grey-light); border-radius:10px;
    font-size:15px; color:var(--alv-ink); background:#fff; font-family:inherit;
}
.autolot-finance-result {
    margin-top:22px; padding:20px 24px; border-radius:14px;
    background:linear-gradient(135deg,var(--alv-ink),var(--alv-yellow-dark));
    color:#fff; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
}
.autolot-finance-label { font-weight:600; opacity:.9; }
.autolot-finance-amount { font-family:'Cormorant Garamond',Georgia,serif; font-size:38px; font-weight:600; }
.autolot-finance-note { font-size:12px; color:var(--alv-grey); margin:14px 0 0; }

/* ---------- CARFAX / AutoCheck report buttons ---------- */
.autolot-doc-btn.autolot-doc-carfax{
    border-color:#1F4E79; border-left:4px solid #1F4E79; font-weight:700; letter-spacing:.02em;
}
.autolot-doc-btn.autolot-doc-carfax:hover{
    background:#1F4E79; color:#fff; border-color:#1F4E79;
}
.autolot-doc-btn.autolot-doc-autocheck{
    border-color:#1E7A46; border-left:4px solid #1E7A46; font-weight:700; letter-spacing:.02em;
}
.autolot-doc-btn.autolot-doc-autocheck:hover{
    background:#1E7A46; color:#fff; border-color:#1E7A46;
}

/* ---- Luxe layer: price stays serif; titles use the site heading sans ---- */
.autolot-card-title{ font-family:var(--alv-display); font-weight:600; letter-spacing:.02em; font-size:21px; }
.autolot-card-price{ font-family:var(--alv-serif); font-weight:500; font-size:23px; letter-spacing:0; }
.autolot-card{ border-radius:0; }
.autolot-card:hover{ box-shadow:0 18px 48px rgba(11,11,14,.16); border-color:var(--alv-ink); }
.autolot-btn{ letter-spacing:.12em; font-weight:500; }
.autolot-btn-primary{ background:var(--alv-ink); color:var(--alv-paper); border-color:var(--alv-ink); }
.autolot-btn-primary:hover{ background:var(--alv-yellow); color:var(--alv-ink); border-color:var(--alv-yellow); }


/* ---------- Test Drive Calendar ---------- */
.autolot-modal-box-wide {
    max-width: 760px;
}
.autolot-test-drive-btn {
    border-color: var(--alv-yellow);
}
.al-td-form {
    margin-top: 18px;
}
.al-td-calendar-wrap {
    border: 1px solid var(--alv-grey-light);
    background: #fff;
    padding: 16px;
    margin: 0 0 18px;
}
.al-td-calendar-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}
.al-td-calendar-head strong {
    font-family: var(--alv-display);
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.al-td-nav {
    width: 38px;
    height: 38px;
    border: 1px solid var(--alv-grey-light);
    background: #fff;
    color: var(--alv-ink);
    cursor: pointer;
    font-size: 24px;
    line-height: 1;
}
.al-td-nav:disabled {
    opacity: .35;
    cursor: not-allowed;
}
.al-td-weekdays,
.al-td-calendar {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 6px;
}
.al-td-weekdays {
    margin-bottom: 6px;
}
.al-td-weekdays span {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--alv-grey);
    text-align: center;
    font-weight: 700;
}
.al-td-day {
    min-height: 64px;
    padding: 7px 5px;
    border: 1px solid var(--alv-grey-light);
    background: var(--alv-paper-pure);
    color: var(--alv-ink);
    cursor: pointer;
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.al-td-day.is-blank {
    border: 0;
    background: transparent;
}
.al-td-day:disabled {
    cursor: not-allowed;
    background: #f3f4f5;
    color: var(--alv-grey);
}
.al-td-day.is-available:hover,
.al-td-day.is-selected {
    border-color: var(--alv-ink);
    background: var(--alv-yellow);
    color: var(--alv-ink);
}
.al-td-day-num {
    font-family: var(--alv-display);
    font-size: 16px;
    font-weight: 700;
}
.al-td-day-label {
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .05em;
    line-height: 1.15;
}
.al-td-selected {
    margin: 12px 0 0;
    color: var(--alv-grey);
    font-size: 13px;
}
.al-td-slots {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}
.al-td-slots-title {
    flex-basis: 100%;
    margin: 0 0 4px !important;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-weight: 700;
    color: var(--alv-ink);
}
.al-td-slot {
    border: 1px solid var(--alv-grey-light);
    background: #fff;
    color: var(--alv-ink);
    padding: 9px 12px;
    cursor: pointer;
    font-family: var(--alv-ui);
    font-weight: 700;
}
.al-td-slot:hover,
.al-td-slot.is-selected {
    background: var(--alv-ink);
    border-color: var(--alv-ink);
    color: #fff;
}
.al-td-slot:disabled {
    opacity: .35;
    cursor: not-allowed;
    text-decoration: line-through;
}
@media (max-width: 560px) {
    .al-td-calendar-wrap {
        padding: 12px;
    }
    .al-td-weekdays,
    .al-td-calendar {
        gap: 4px;
    }
    .al-td-day {
        min-height: 54px;
        padding: 5px 4px;
    }
    .al-td-day-label {
        font-size: 8px;
    }
}

/* Vehicle report and document image badges. */
.vm-report-badges--inventory{margin:0 0 12px}.vm-report-badges__list{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.vm-report-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;max-width:108px;padding:4px 6px;border:1px solid #d9ded8;border-radius:6px;background:#fff;box-sizing:border-box}.vm-report-badge img{display:block;max-width:100%;width:auto;height:auto;max-height:26px;object-fit:contain}
