/* [amplus_vehicles] — vehicle grid + karty */
.amplus-grid-vehicles {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr));
}
.amplus-grid-vehicles.cols-1 { --cols: 1; }
.amplus-grid-vehicles.cols-2 { --cols: 2; }
.amplus-grid-vehicles.cols-3 { --cols: 3; }
.amplus-grid-vehicles.cols-4 { --cols: 4; }

@media (max-width: 960px) {
    .amplus-grid-vehicles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .amplus-grid-vehicles { grid-template-columns: 1fr; }
}

.amplus-card-vehicle {
    background: var(--amplus-color-bg);
    border: 1px solid var(--amplus-color-border);
    border-radius: var(--amplus-radius);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.amplus-card-vehicle:hover {
    border-color: var(--amplus-color-primary);
    transform: translateY(-3px);
    box-shadow: var(--amplus-shadow);
}

.amplus-card-media {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    background: var(--amplus-color-soft);
    overflow: hidden;
}
.amplus-card-media img {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    /* contain — celá fotka vrátane loga AM plus v pravom hornom rohu ostane viditeľná
       (cover orezával vrch/spodok, keďže fotky áut sú vyššie než 16:10) */
    object-fit: contain; object-position: center;
    transition: transform .4s ease, opacity .35s ease;
}
.amplus-card-vehicle:hover .amplus-card-media img { transform: scale(1.04); }

/* Hover preview — druhá fotka sa fadne CEZ primary (primary ostáva pod ňou
   → žiadne preblikávanie pozadia počas tranzície). */
.amplus-card-media .amplus-card-img--primary { z-index: 1; }
.amplus-card-media .amplus-card-img--hover {
    z-index: 2;
    opacity: 0;
    pointer-events: none;
}
.amplus-card-vehicle:hover .amplus-card-img--hover { opacity: 1; }
.amplus-card-media .amplus-badge { z-index: 3; }
@media (hover: none) {
    .amplus-card-media .amplus-card-img--hover { display: none; }
}

.amplus-card-placeholder {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    color: #cbd5e1;
}
.amplus-card-placeholder svg { width: 60%; height: auto; }

.amplus-badge {
    position: absolute;
    top: 12px; left: 12px;
    background: #0F172A; color: #fff;
    font-size: 12px; font-weight: 600;
    padding: 4px 10px; border-radius: 999px;
    letter-spacing: .02em;
}
.amplus-badge-skladom      { background: var(--amplus-color-primary); }
.amplus-badge-nove         { background: var(--amplus-color-secondary); }
.amplus-badge-predvadzacie { background: #F59E0B; }
.amplus-badge-ojazdene     { background: #475569; }
.amplus-badge-custom       { background: #DC2626; }

.amplus-card-body {
    padding: 18px 20px 20px;
    display: flex; flex-direction: column; gap: 12px;
    flex: 1;
}
.amplus-card-meta {
    display: flex; justify-content: space-between; align-items: center;
    font-size: 12px; font-weight: 600; letter-spacing: .04em;
    text-transform: uppercase; color: var(--amplus-color-muted);
}
.amplus-card-brand { color: var(--amplus-color-secondary); }
.amplus-card-title {
    font-size: 18px; font-weight: 600; line-height: 1.3;
    margin: 0; color: var(--amplus-color-text);
}
.amplus-card-title a { color: inherit; text-decoration: none; }
.amplus-card-title a:hover { color: var(--amplus-color-primary); }

.amplus-card-specs {
    list-style: none; padding: 0; margin: 0;
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 8px 16px; font-size: 13px;
}
.amplus-card-specs li { display: flex; flex-direction: column; gap: 2px; }
.amplus-card-specs span { color: var(--amplus-color-muted); font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
.amplus-card-specs strong { color: var(--amplus-color-text); font-weight: 600; }

.amplus-card-footer {
    margin-top: auto;
    display: flex; justify-content: space-between; align-items: flex-end;
    padding-top: 12px;
    border-top: 1px solid var(--amplus-color-border);
}
.amplus-card-price { display: flex; flex-direction: column; gap: 2px; line-height: 1.2; }
.amplus-card-price strong { font-size: 20px; color: var(--amplus-color-text); }
.amplus-price-old { color: var(--amplus-color-muted); text-decoration: line-through; font-size: 13px; }
.amplus-price-monthly { color: var(--amplus-color-muted); font-size: 12px; }

/* === Karusel obrázkov priamo na karte vozidla (archív + homepage filter) === */
.amplus-cardgal{position:absolute;inset:0;display:block;overflow:hidden;}
.amplus-cardgal-track{display:flex;width:100%;height:100%;transition:transform .35s ease;will-change:transform;}
.amplus-cardgal-track img{position:relative!important;inset:auto!important;flex:0 0 100%;width:100%;height:100%;object-fit:contain;object-position:center;transform:none!important;}
.amplus-cardgal-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:34px;height:34px;padding:0;border:none;border-radius:50%;background:rgba(255,255,255,.92);color:#111;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .2s ease,background .2s ease;box-shadow:0 2px 8px rgba(0,0,0,.18);}
.amplus-cardgal-prev{left:8px;}
.amplus-cardgal-next{right:8px;}
.amplus-cardgal-nav:hover{background:#fff;}
.amplus-card-vehicle:hover .amplus-cardgal-nav,.amplus-flat-card:hover .amplus-cardgal-nav{opacity:1;}
@media (hover:none){.amplus-cardgal-nav{opacity:1;background:rgba(255,255,255,.85);}}
.amplus-cardgal-dots{position:absolute;left:0;right:0;bottom:8px;z-index:4;display:flex;gap:5px;justify-content:center;pointer-events:none;opacity:0;transition:opacity .2s ease;}
.amplus-card-vehicle:hover .amplus-cardgal-dots,.amplus-flat-card:hover .amplus-cardgal-dots{opacity:1;}
@media (hover:none){.amplus-cardgal-dots{opacity:1;}}
.amplus-cardgal-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:0 0 2px rgba(0,0,0,.35);}
.amplus-cardgal-dot.is-active{background:#fff;}

/* === Modelové podstránky: sekcie z repeatera === */
.amplus-msections{display:flex;flex-direction:column;gap:48px;margin:40px 0;}
.amplus-msec{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;}
.amplus-msec--alt{direction:rtl;}
.amplus-msec--alt > *{direction:ltr;}
.amplus-msec-media img{width:100%;height:auto;border-radius:14px;display:block;}
.amplus-msec-text{color:var(--amplus-color-muted,#5b6066);line-height:1.6;}
.amplus-msec-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;}
@media (max-width:782px){.amplus-msec{grid-template-columns:1fr;gap:18px;}.amplus-msec--alt{direction:ltr;}}

/* === Modelové podstránky: skladové kusy === */
.amplus-model-stock{margin:40px 0;}
.amplus-model-stock-title{font-size:26px;margin:0 0 20px;}
.amplus-model-stock-more{margin-top:24px;text-align:center;}

/* Hover fade aj pre SVG ikony v hlavičke modelu. Font ikony (<i>) fadeujú natívne
   cez color; SVG používa fill, ktorý bez transition preskakuje. Zjednotíme timing. */
.single-amplus_modelpage .elementor-widget-uicore-icon-box .ui-e-icon-wrp svg{transition:fill .3s ease, color .3s ease;}

/* Ikony hlavičky modelu s akciou = klikateľný celý widget (triedy nastavené v Elementor šablóne). */
.elementor-widget-uicore-icon-box.amplus-open-gallery,
.elementor-widget-uicore-icon-box.amplus-open-cennik,
.elementor-widget-uicore-icon-box.popup-jazda{cursor:pointer;}

/* === Modelová galéria — čistý náhľad (jednotné dlaždice) + lightbox === */
.amplus-gallery{width:100%;}
.amplus-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.amplus-gallery-grid.cols-1{grid-template-columns:1fr;}
.amplus-gallery-grid.cols-2{grid-template-columns:repeat(2,1fr);}
.amplus-gallery-grid.cols-3{grid-template-columns:repeat(3,1fr);}
.amplus-gallery-tile{
    position:relative;display:block;padding:0;border:0;margin:0;
    aspect-ratio:4/3;border-radius:12px;overflow:hidden;cursor:pointer;
    background:#f4f4f4;
}
.amplus-gallery-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease;}
.amplus-gallery-tile:hover img{transform:scale(1.05);}
.amplus-gallery-tile.has-more img{filter:brightness(.5);}
.amplus-gallery-more{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    color:#fff;font-size:26px;font-weight:800;letter-spacing:.01em;pointer-events:none;
}
/* Tlačidlo = klasické Elementor tlačidlo (styling z kitu), tu ho len vycentrujeme */
.amplus-gallery-viewall-wrap{display:flex;justify-content:center;margin-top:16px;}
@media (max-width:781px){
    .amplus-gallery-grid,.amplus-gallery-grid.cols-3,.amplus-gallery-grid.cols-4{grid-template-columns:repeat(2,1fr);}
}

/* Lightbox */
.amplus-lb{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;background:rgba(7,7,7,.93);}
.amplus-lb.is-open{display:flex;}
.amplus-lb-stage{margin:0;max-width:92vw;max-height:86vh;display:flex;align-items:center;justify-content:center;}
.amplus-lb-img{max-width:92vw;max-height:86vh;object-fit:contain;border-radius:6px;box-shadow:0 12px 44px rgba(0,0,0,.5);}
.amplus-lb-close,.amplus-lb-nav{
    position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;
    display:flex;align-items:center;justify-content:center;line-height:1;
    transition:background .2s ease;
}
.amplus-lb-close{top:18px;right:22px;width:44px;height:44px;border-radius:50%;font-size:26px;}
.amplus-lb-nav{top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;font-size:30px;padding-bottom:3px;}
.amplus-lb-close:hover,.amplus-lb-nav:hover{background:rgba(255,255,255,.26);}
.amplus-lb-prev{left:20px;}
.amplus-lb-next{right:20px;}
.amplus-lb-counter{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:#fff;font-size:13.5px;font-weight:600;background:rgba(0,0,0,.45);padding:6px 14px;border-radius:999px;}
body.amplus-lb-lock{overflow:hidden;}
@media (max-width:600px){
    .amplus-lb-nav{width:42px;height:42px;font-size:26px;}
    .amplus-lb-prev{left:8px;}.amplus-lb-next{right:8px;}
    .amplus-lb-close{top:10px;right:12px;}
}

/* === Cena od === */
.amplus-price-from{display:inline-flex;align-items:baseline;gap:6px;color:var(--amplus-color-text,#1f2937);}
.amplus-price-from strong{font-size:1.25em;color:inherit;}
.amplus-price-from-label,.amplus-price-from-suffix{color:inherit;}

/* === Zdieľané utility (lízing, predajné akcie, ...) === */
/* Card-lift hover: pokojový tieň + zdvih na hover (hover len na <a>). */
.amplus-card-lift{box-shadow:0 6px 18px rgba(7,7,7,.06);transition:box-shadow .25s,transform .25s;}
a.amplus-card-lift:hover{box-shadow:0 16px 34px rgba(7,7,7,.14);transform:translateY(-4px);}
/* Responzívny grid: gap/margin si nastaví komponent, stĺpce cez .cols-N. */
.amplus-grid{display:grid;grid-template-columns:repeat(var(--amplus-cols,3),minmax(0,1fr));}
.amplus-grid.cols-1{--amplus-cols:1;}
.amplus-grid.cols-2{--amplus-cols:2;}
.amplus-grid.cols-3{--amplus-cols:3;}
.amplus-grid.cols-4{--amplus-cols:4;}
@media (max-width:1024px){.amplus-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:600px){.amplus-grid{grid-template-columns:1fr;}}
