/* Auto Inventory — front-end styles. Variables let Elementor controls + themes override. */
.ai-wrap{max-width:1200px;margin:0 auto;padding:0 16px}
.ai-grid,.ai-card,.ai-filter,.ai-single,.ai-loan,.ai-specs,.ai-highlights,.ai-features{box-sizing:border-box}
.ai-grid *,.ai-card *,.ai-filter *,.ai-single *{box-sizing:border-box}

/* ---------------- Grid + Card ---------------- */
.ai-grid{
	display:grid;
	grid-template-columns:repeat(var(--ai-cols,4),minmax(0,1fr));
	gap:24px;
}
@media(max-width:1024px){.ai-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ai-grid{grid-template-columns:1fr}}

.ai-card{
	background:#111827;border-radius:10px;overflow:hidden;
	display:flex;flex-direction:column;
	box-shadow:0 1px 3px rgba(0,0,0,.18);transition:transform .15s,box-shadow .15s;
}
.ai-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.22)}
.ai-card__media{position:relative;display:block;aspect-ratio:4/3;background:#111827;overflow:hidden}
.ai-card__media .ai-img{width:100%;height:100%;object-fit:contain;display:block}
.ai-img--placeholder{display:block;width:100%;height:100%;background:linear-gradient(135deg,#1f2937,#374151)}
.ai-card__ribbon{
	position:absolute;top:14px;left:-34px;transform:rotate(-45deg);
	background:#d4a017;color:#3a2c00;font-weight:700;font-size:12px;letter-spacing:.02em;
	padding:5px 40px;text-align:center;box-shadow:0 2px 4px rgba(0,0,0,.2);
}
.ai-card__count{
	position:absolute;bottom:10px;right:10px;display:inline-flex;align-items:center;gap:5px;
	background:rgba(0,0,0,.6);color:#fff;font-size:12px;font-weight:600;padding:3px 8px;border-radius:6px;
}
.ai-card__body{padding:16px 16px 18px;display:flex;flex-direction:column;flex:1 1 auto}
.ai-card__title{margin:0 0 8px;font-size:17px;line-height:1.3}
.ai-card__title a{color:#fff;text-decoration:none}
.ai-card__title a:hover{opacity:.85}
.ai-card__price{color:#fff;font-size:22px;font-weight:800;margin-bottom:12px}
.ai-card__meta{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;color:#9ca3af;font-size:13px;
	border-top:1px solid rgba(255,255,255,.08);padding-top:12px}
.ai-chip{display:inline-flex;align-items:center}
.ai-chip--year{background:#d4a017;color:#3a2c00;font-weight:700;border-radius:5px;padding:2px 9px}
.ai-card.is-sold .ai-card__price{color:#f87171}
/* Transparent pill CTA: #F3C300 border + text, full width, centered, pinned to the
   bottom of the card so every card's button lines up (cards stretch to equal height). */
.ai-card .ai-card__cta{display:block;width:100%;margin-top:auto;height:44px;line-height:40px;padding:0 18px;text-align:center;background:transparent;border:2px solid #F3C300;border-radius:999px;color:#F3C300;font-weight:700;transition:background .15s,color .15s}
.ai-card .ai-card__meta{margin-bottom:14px}
.ai-card .ai-card__cta:hover,.ai-card .ai-card__cta:focus{background:#F3C300;color:#111827}

.ai-empty{padding:40px;text-align:center;color:#6b7280;border:1px dashed #d1d5db;border-radius:10px}

/* AJAX filter: dim the grid while a new page of results loads. */
.ai-grid-wrap{position:relative;transition:opacity .15s}
.ai-grid-wrap.is-loading{opacity:.45;pointer-events:none}

/* ---------------- Pagination ---------------- */
.ai-pagination{display:flex;gap:6px;justify-content:center;margin-top:26px;flex-wrap:wrap}
.ai-pagination .page-numbers{
	display:inline-flex;min-width:38px;height:38px;align-items:center;justify-content:center;
	padding:0 10px;border:1px solid #e5e7eb;border-radius:8px;color:#111827;text-decoration:none;font-weight:600;
}
.ai-pagination .page-numbers.current{background:#d4a017;border-color:#d4a017;color:#3a2c00}
.ai-pagination .page-numbers:hover{border-color:#d4a017}

/* ---------------- Filter bar ---------------- */
.ai-filter{background:#eef2ff;border-radius:12px;padding:18px}
.ai-filter__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
@media(max-width:1024px){.ai-filter__grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.ai-filter__grid{grid-template-columns:1fr 1fr}}
.ai-filter__field{
	width:100%;height:46px;border:1px solid #d7ddea;border-radius:10px;background:#fff;
	padding:0 12px;font-size:14px;color:#111827;
}
.ai-filter__foot{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;flex-wrap:wrap}
.ai-filter__tabs{display:flex;gap:4px}
.ai-tab{position:relative;padding:8px 16px;border-radius:8px;cursor:pointer;font-weight:600;color:#4b5563}
.ai-tab input{position:absolute;opacity:0;inset:0;cursor:pointer}
.ai-tab.is-active{color:#111827;border-bottom:2px solid #d4a017}
.ai-filter__search{display:flex;gap:8px;flex:1;min-width:240px;justify-content:flex-end}
.ai-filter__search .ai-filter__field{max-width:320px}
.ai-btn{height:46px;padding:0 22px;border:none;border-radius:10px;font-weight:700;cursor:pointer;font-size:14px}
.ai-btn--primary{background:#d4a017;color:#3a2c00}
.ai-btn--primary:hover{filter:brightness(.96)}
.ai-btn--ghost{background:transparent;border:1px solid #d7ddea;color:#4b5563}
.ai-btn--ghost:hover{background:#111827!important;border-color:#111827!important;color:#fff!important}

/* ---------------- Breadcrumbs ---------------- */
.ai-breadcrumbs{color:#6b7280;font-size:13px;margin:16px 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ai-breadcrumbs a{color:#6b7280;text-decoration:none}
.ai-breadcrumbs a:hover{color:#d4a017}
.ai-breadcrumbs .ai-crumb-current{color:#d4a017;font-weight:600}
.ai-breadcrumbs .ai-sep{color:#c3c4c7}

/* ---------------- Single vehicle ---------------- */
.ai-single__grid{display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:start}
@media(max-width:900px){.ai-single__grid{grid-template-columns:1fr}}
.ai-single__head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:20px 0 10px;flex-wrap:wrap}
.ai-single__title{margin:0;font-size:30px;line-height:1.15}
.ai-single__price{font-size:28px;font-weight:800;color:#d4a017}
.ai-single__h{font-size:20px;margin:26px 0 12px;padding-bottom:8px;border-bottom:2px solid #eef0f3}

/* ---------------- Gallery ---------------- */
.ai-gallery__hero{position:relative;border-radius:10px;overflow:hidden;background:#0f172a;aspect-ratio:16/10}
.ai-gallery__hero a{display:block;height:100%}
.ai-gallery__heroimg{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}
.ai-gallery__hnav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:60px;padding:0;border:none!important;border-radius:0!important;outline:none!important;background:transparent !important;color:#fff !important;font-size:46px;font-weight:400;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:none!important;text-shadow:0 1px 8px rgba(0,0,0,.75);filter:drop-shadow(0 1px 3px rgba(0,0,0,.55));transition:color .15s,transform .15s;text-decoration:none}
.ai-gallery__hnav:hover,.ai-gallery__hnav:focus{background:transparent !important;color:#d4a017 !important;transform:translateY(-50%) scale(1.08)}
.ai-gallery__hnav--prev{left:12px}
.ai-gallery__hnav--next{right:12px}
.ai-gallery__hcount{position:absolute;bottom:14px;right:16px;z-index:3;background:rgba(0,0,0,.6);color:#fff;font-size:13px;font-weight:600;padding:4px 10px;border-radius:6px}
.ai-gallery__thumbs{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-behavior:smooth}
.ai-gallery__thumbs::-webkit-scrollbar{display:none}
.ai-gallery__thumbs::-webkit-scrollbar-track{background:#e5e7eb;border-radius:8px}
.ai-gallery__thumbs::-webkit-scrollbar-thumb{background:#d4a017;border-radius:8px}
.ai-gallery__thumb{position:relative;flex:0 0 92px;width:92px;scroll-snap-align:start;border:2px solid transparent;border-radius:8px;overflow:hidden;aspect-ratio:4/3;display:block;cursor:pointer}
@media(max-width:600px){.ai-gallery__thumb{flex-basis:74px;width:74px}}
.ai-gallery__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .15s}
/* Non-active thumbs sit slightly dimmed so the current one stands out. */
.ai-gallery__thumb::after{content:"";position:absolute;inset:0;background:rgba(15,23,42,.45);opacity:1;transition:opacity .15s;pointer-events:none}
.ai-gallery__thumb:hover::after{opacity:.15}
/* Active thumb: full brightness, brand border, and a check badge overlay. */
.ai-gallery__thumb.is-active{border-color:#d4a017;box-shadow:0 0 0 2px rgba(212,160,23,.35)}
.ai-gallery__thumb.is-active::after{background:rgba(212,160,23,.18);opacity:1}
.ai-gallery__thumb.is-active::before{content:"";position:absolute;top:5px;right:5px;z-index:2;width:18px;height:18px;border-radius:50%;background:#d4a017;box-shadow:0 1px 3px rgba(0,0,0,.4);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111827' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4.5 4.5L19 7'/%3E%3C/svg%3E");background-size:13px;background-repeat:no-repeat;background-position:center}

/* full-width carousel layout — seamless looping filmstrip */
.ai-gallery--full{position:relative}
.ai-gallery--full .ai-gallery__viewport{overflow:hidden;width:100%}
.ai-gallery--full .ai-gallery__track{display:flex;gap:0;transition:transform .45s cubic-bezier(.22,.61,.36,1);will-change:transform}
.ai-gallery--full .ai-gallery__slide{flex:0 0 64%;height:560px;overflow:hidden;cursor:pointer;background:#0f172a}
.ai-gallery--full .ai-gallery__slide.is-active{cursor:zoom-in}
.ai-gallery--full .ai-gallery__slideimg{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:768px){.ai-gallery--full .ai-gallery__slide{flex-basis:86%!important;height:52vw!important}}
.ai-gallery--full .ai-gallery__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:48px;height:64px;padding:0;border-radius:0!important;border:none!important;outline:none!important;background:transparent !important;color:#fff !important;font-size:50px;font-weight:400;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:none!important;text-shadow:0 1px 8px rgba(0,0,0,.75);filter:drop-shadow(0 1px 3px rgba(0,0,0,.55));text-decoration:none}
.ai-gallery--full .ai-gallery__nav--prev{left:14px}
.ai-gallery--full .ai-gallery__nav--next{right:14px}
.ai-gallery--full .ai-gallery__nav:hover,.ai-gallery--full .ai-gallery__nav:focus{background:transparent !important;color:#d4a017 !important;transform:translateY(-50%) scale(1.08)}
.ai-gallery--full .ai-gallery__counter{position:absolute;bottom:16px;right:22px;z-index:3;background:rgba(0,0,0,.6);color:#fff;font-size:13px;font-weight:600;padding:4px 10px;border-radius:6px}

/* ---------------- Check Availability modal ---------------- */
.ai-modal{position:fixed;inset:0;background:rgba(0,0,0,.7);display:none;align-items:center;justify-content:center;z-index:100000;padding:20px}
.ai-modal.is-open{display:flex}
body.ai-modal-open{overflow:hidden}
.ai-modal__box{position:relative;background:#111827;border-radius:14px;width:min(460px,100%);max-height:92vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 70px rgba(0,0,0,.5)}
.ai-modal__close{position:absolute;top:10px;right:10px;z-index:2;width:34px;height:34px;padding:0;border:none!important;outline:none!important;border-radius:0!important;background:transparent!important;color:#fff!important;font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:none!important;text-shadow:0 1px 4px rgba(0,0,0,.65)}
.ai-modal__close:hover,.ai-modal__close:focus{background:transparent!important;color:#F3C300!important}
.ai-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:16px}
.ai-modal__body iframe{width:100%;height:700px;border:none;display:block;background:#111827;border-radius:8px}

.ai-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:99999}
.ai-lightbox img{max-width:92vw;max-height:88vh;border-radius:6px}
.ai-lightbox__close,.ai-lightbox__nav{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:none;cursor:pointer;
	width:48px;height:48px;border-radius:50%;font-size:24px;line-height:1}
.ai-lightbox__close{top:20px;right:20px}
.ai-lightbox__nav{top:50%;transform:translateY(-50%)}
.ai-lightbox__nav--prev{left:20px}
.ai-lightbox__nav--next{right:20px}

/* ---------------- Price / Kilometers blocks (VDP widgets) ---------------- */
.ai-vprice{font-size:28px;font-weight:800;color:#d4a017;line-height:1.2;position:relative;z-index:10;background:#f0f0f0}
.ai-vkm{font-size:16px;font-weight:600;color:#111827;line-height:1.3;position:relative;z-index:10;background:#f0f0f0}

/* ---------------- Specs ---------------- */
.ai-specs{width:100%;border-collapse:collapse;background:#f7f8fa;border-radius:10px;overflow:hidden}
.ai-specs tr:nth-child(even){background:#eef0f3}
.ai-specs th,.ai-specs td{text-align:left;padding:11px 16px;font-size:14px}
.ai-specs th{width:42%;color:#4b5563;font-weight:700}
.ai-specs td{color:#111827}

/* ---------------- Highlights ---------------- */
.ai-highlights{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:700px){.ai-highlights{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.ai-highlights{grid-template-columns:1fr}}
.ai-highlight{display:flex;align-items:center;gap:8px;background:#f7f8fa;border:1px solid #eceef1;border-radius:8px;padding:10px 12px}
.ai-highlight svg{color:#d4a017;flex:0 0 auto}
.ai-highlight span{font-size:13px;color:#111827}

/* ---------------- Features ---------------- */
.ai-features{list-style:none;margin:0;padding:0;column-count:3;column-gap:24px}
@media(max-width:700px){.ai-features{column-count:2}}
@media(max-width:460px){.ai-features{column-count:1}}
.ai-features li{break-inside:avoid;padding:5px 0 5px 18px;position:relative;font-size:14px}
.ai-features li::before{content:"•";position:absolute;left:0;color:#d4a017;font-weight:700}

/* ---------------- Description ---------------- */
.ai-description{line-height:1.7;color:#374151}
.ai-description p{margin:0 0 1em}

/* ---------------- Related vehicles ---------------- */
.ai-related{margin-top:36px}
.ai-related__title{font-size:22px;margin:0 0 16px;padding-bottom:10px;border-bottom:2px solid #eef0f3}

/* ---------------- Loan calculator ---------------- */
.ai-loan{background:#111827;border-radius:12px;padding:22px;color:#fff}
/* Force white over theme heading / Elementor global-color rules that would otherwise win. */
.ai-loan .ai-loan__head h3{margin:0 0 6px;color:#fff!important;font-size:20px}
.ai-loan .ai-loan__head p{margin:0 0 16px;font-size:13px;color:#fff!important}
.ai-loan__fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ai-loan__fields label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:#fff;min-width:0}
.ai-loan__fields input{width:100%;box-sizing:border-box;height:42px;border-radius:8px;border:1px solid #374151;background:#0b1220;color:#fff;padding:0 12px;font-size:15px}
.ai-loan__result{display:flex;gap:12px;margin-top:16px;border-top:1px solid #374151;padding-top:16px}
.ai-loan__result>div{flex:1;text-align:center}
.ai-loan__result span{display:block;font-size:12px;color:#fff;margin-bottom:4px}
.ai-loan__result strong{font-size:22px;color:#d4a017}
.ai-loan__disc{font-size:11px;color:#cbd5e1;margin:14px 0 0;line-height:1.5}


/* ---------------- View Details button (inventory cards) ---------------- */
.ai-card__view{display:block;width:100%;margin-top:10px;height:44px;line-height:44px;padding:0 18px;text-align:center;background:#F3C300;border:2px solid #F3C300;border-radius:999px;color:#111827!important;font-weight:700;text-decoration:none;transition:background .15s,color .15s,border-color .15s}
.ai-card__view:hover,.ai-card__view:focus{background:#d4a017;border-color:#d4a017;color:#111827!important}

/* ---------------- VDP thumbnail carousel arrows (replace scrollbar) ---------------- */
.ai-gallery__thumbwrap{position:relative;margin-top:10px;padding:0 34px}
.ai-gallery__thumbnav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:30px!important;height:30px!important;min-width:30px!important;max-width:30px!important;flex:0 0 auto!important;padding:0!important;margin:0!important;border:none!important;outline:none!important;border-radius:50%!important;background:#F3C300!important;color:#111827!important;font-size:20px!important;font-weight:700;line-height:1!important;cursor:pointer;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 2px 6px rgba(0,0,0,.25)!important;box-sizing:border-box!important;transition:background .15s}
.ai-gallery__thumbnav:hover,.ai-gallery__thumbnav:focus{background:#d4a017!important;color:#111827!important}
.ai-gallery__thumbnav--prev{left:0}
.ai-gallery__thumbnav--next{right:0}

/* ---------------- Hide Elementor sticky spacer (ghost form behind VDP column) ---------------- */
.elementor-sticky__spacer{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

/* ---------------- Mobile-only CTA under price/kms (scrolls to form) ---------------- */
.ai-vmobile-cta{display:none;gap:10px;margin-top:14px}
.ai-vmcta{flex:1 1 0;min-width:0;height:46px;padding:0 10px;border-radius:999px!important;font-weight:700;font-size:14px;cursor:pointer;border:2px solid #F3C300!important;background:#F3C300!important;color:#111827!important;transition:background .15s,color .15s}
.ai-vmcta--avail{background:transparent!important;color:#F3C300!important}
.ai-vmcta--avail:hover,.ai-vmcta--avail:active{background:#F3C300!important;color:#111827!important}
.ai-vmcta--finance:hover,.ai-vmcta--finance:active{background:#d4a017!important;border-color:#d4a017!important;color:#111827!important}
@media(max-width:767px){.ai-vmobile-cta{display:flex}}

/* Desktop-only Apply for Financing button (JS clone of Schedule Test Drive); mobile uses .ai-vmcta instead. */
@media(max-width:767px){.ai-financing-clone{display:none!important}}

/* Unify all plugin buttons to the Elementor button style: Inter, 18px, weight 800, ALL CAPS. */
.ai-card__cta,.ai-card__view,.ai-btn,.ai-vmcta,.ai-financing-clone .elementor-button{font-family:"Inter",sans-serif!important;font-size:18px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:normal!important}

/* STACK-MOBILE-CTA v0.6.3 */
@media(max-width:767px){.ai-vmobile-cta{flex-direction:column!important}.ai-vmobile-cta .ai-vmcta{flex:1 1 auto!important;width:100%!important}}
