:root{
  --bg:#0b0e13; --ink:#e8ecf2; --muted:#9aa3b2; --line:#232a35;
  --card:#11151b; --panel:#151a22; --radius:18px; --shadow:0 30px 80px rgba(0,0,0,.45);
  --accent-blue:#ffffff; /* Subaru */ --accent-green:#ffffff; /* KGM */ --accent-yellow:#ffffff; /* Jeep */
}
*{box-sizing:border-box}
html,body{height:100%}
html,body{background:var(--bg); color:var(--ink); font-family:ui-sans-serif,system-ui,Inter,Segoe UI,Roboto,Arial,sans-serif}
img{display:block;max-width:100%;height:auto}
a{color:inherit}

/* Background */
.bg{
  position:fixed;inset:0;pointer-events:none;
  background:
    radial-gradient(1200px 600px at 70% -10%, rgba(59,130,246,.08), transparent 60%),
    radial-gradient(900px 400px at 100% 20%, rgba(245,158,11,.08), transparent 60%),
    radial-gradient(900px 400px at 0% 80%, rgba(34,197,94,.08), transparent 60%),
    linear-gradient(180deg,#0b0e13,#0b0e13 60%);
}
.bg::after{
  content:""; position:absolute; inset:-10%; filter:blur(60px) saturate(120%);
  background:conic-gradient(from 90deg at 50% 50%, rgba(59,130,246,.14), rgba(34,197,94,.14), rgba(245,158,11,.14), rgba(59,130,246,.14));
  mix-blend-mode:screen; opacity:.35; animation:spin 24s linear infinite;
}
@keyframes spin{to{transform:rotate(1turn)}}

/* Layout */
.wrap{max-width:1200px;margin:0 auto; position:relative}
.top{
  display: grid;
  place-items: center;
  gap: 8px;
  margin: -24px 0 22px; /* ⬅️ POSUN NAHOR */
  text-align: center;
}
.top h1{
  line-height: 1.1;
}

.top p{
  margin-top: 0px;
}

.grid{ display:grid; gap:18px; grid-template-columns:repeat(3,1fr); align-items:stretch }
@media (max-width:980px){ .grid{ grid-template-columns:1fr } }

/* Card */
.card{
  position:relative; border:1px solid var(--line); border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0)), var(--panel);
  overflow:hidden; box-shadow:var(--shadow);
  transform-style:preserve-3d;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
  cursor:pointer; isolation:isolate; animation:pop .5s both;
}
.card:hover{ box-shadow:0 40px 120px rgba(0,0,0,.55); border-color:#2a3443 }
.card:active{ transform:translateY(1px) }
.card::after{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:1;
  background:linear-gradient(180deg, rgba(255,255,255,.06), transparent 18%);
  mix-blend-mode:overlay; opacity:.6;
}
.card:nth-child(1){ animation-delay:.05s }
.card:nth-child(2){ animation-delay:.12s }
.card:nth-child(3){ animation-delay:.19s }
@keyframes pop{ from{ transform:translateY(12px) scale(.98); opacity:0 } to{ transform:translateY(0) scale(1); opacity:1 } }

.media{
  position: relative;
  aspect-ratio: 16 / 9;
  background: #0e131a;

  /* priestor okolo obrázka */
  padding: 12px;

  /* dôležité: už NErežeme obrázok */
  overflow: hidden;
}

.media img{
  width: 100%;
  height: 100%;

  /* kľúčová vec */
  object-fit: contain;

  /* jemný default scale */
  transform: scale(0.80);
  transition: transform .6s cubic-bezier(.2,.8,.2,1);
  will-change: transform;
}

/* hover zoom – bezpečný, nič sa neoreže */
.card:hover .media img{
  transform: scale(0.85);
}

.media .shine{
  position: absolute;
  inset: -20% -40%;
  z-index: 1;

  background: radial-gradient(
    600px 300px at var(--mx,60%) var(--my,40%),
    rgba(255,255,255,.18),
    rgba(255,255,255,0) 60%
  );

  mix-blend-mode: screen;
  pointer-events: none;
  transition: opacity .2s ease;
  opacity: .6;
}

.card.kgm .media{
  position: relative;
  aspect-ratio: 16 / 9;
  background: #0e131a;

  /* priestor okolo obrázka */
  padding: 12px;

  /* dôležité: už NErežeme obrázok */
  overflow: hidden;
}

.card.kgm .media img{
  width: 100%;
  height: 100%;

  /* kľúčová vec */
  object-fit: contain;

  /* jemný default scale */
  transform: scale(1.2);
  transition: transform .6s cubic-bezier(.2,.8,.2,1);
  will-change: transform;
}

.card.kgm:hover .media img{
  transform: scale(1.25);
}


.body{
  padding:18px 14px 64px; /* dole priestor pre tlačidlo */
  display:flex;
  flex-direction:column;
  gap:10px;
}
.body .btn{
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 10px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.brandline{ display:flex; align-items:center; gap:10px }
.brandline h3{ margin:0; font-size:20px; letter-spacing:.3px }


.card p{ margin:0; color:var(--muted) }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:10px 14px; border-radius:12px; border:1px solid var(--line);
  background:#0f141d; color:#fff; font-weight:700; letter-spacing:.2px;
  transition:transform .16s ease, border-color .2s ease, background .2s ease, filter .2s ease;
}
.btn:hover{ transform:translateY(-1px); border-color:#2a3443 }
.btn:active{ transform:translateY(0) }

.card.subaru .btn{ background:var(--accent-blue); color:#121212 }
.card.kgm    .btn{ background:var(--accent-green); color:#121212 }
.card.jeep   .btn{ background:var(--accent-yellow); color:#121212 }

.foot{ display:flex; justify-content:center; margin:22px 0 6px }
.btn.ghost{ background:transparent; color:#cbd5e1 }

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important }
  .bg::after{ animation:none }
}
