.vehicle-section{margin:15px 20px;}
.vehicle-title{display:block;font-weight:600;margin-bottom:10px;font-size:11px;color:var(--grey);letter-spacing:.02em;}
.vehicle-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}

/* Kart sayısına göre sütunlar */
.vehicle-list.cols-1{grid-template-columns:minmax(0,1fr);max-width:none;}
.vehicle-list.cols-1 .vehicle-card{display:flex;align-items:center;gap:24px;}
.vehicle-list.cols-1 .v-img{height:140px;flex:0 0 38%;margin-bottom:0;}
.vehicle-list.cols-1 .v-name{flex:1;font-size:18px;margin-bottom:0;}
.vehicle-list.cols-1 .v-price-row{flex:0 0 auto;gap:20px;padding-right:36px;}
.vehicle-list.cols-1 .v-price{font-size:30px;}
.vehicle-list.cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.vehicle-list.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.vehicle-list.cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.vehicle-list.cols-4 .v-img{height:120px;}
.vehicle-list.cols-4 .v-price{font-size:22px;}

/* Kart */
.vehicle-card{position:relative;display:block;border:1px solid #e3e6ea;border-radius:12px;padding:16px;cursor:pointer;background:#fff;text-align:left;transition:opacity .25s,filter .25s,border-color .2s,box-shadow .2s;}
.vehicle-card:hover{border-color:#b9c0c9;box-shadow:0 4px 14px rgba(0,0,0,.06);}
.vehicle-card input[type="radio"]{position:absolute;opacity:0;width:100%;height:100%;top:0;left:0;margin:0;cursor:pointer;}
.vehicle-card:has(input:checked){border-color:#d4a017;box-shadow:0 0 0 3px rgba(212,160,23,.2);}
.vehicle-card:has(input:focus-visible){outline:2px solid #3b82f6;outline-offset:2px;}
.vehicle-card.selected{border-color:#d4a017;box-shadow:0 0 0 3px rgba(212,160,23,.2);}

/* Seçildi işareti */
.vehicle-card::after{
  content:"✓";
  position:absolute;top:10px;right:10px;
  width:26px;height:26px;border-radius:50%;
  background:#d4a017;color:#fff;
  font-size:15px;font-weight:700;line-height:1;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:scale(.5);
  transition:opacity .2s,transform .2s;
  pointer-events:none;
}
.vehicle-card.selected::after,
.vehicle-card:has(input:checked)::after{opacity:1;transform:scale(1);}

.vehicle-card .v-img{height:165px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.vehicle-card .v-img img{max-width:100%;max-height:100%;object-fit:contain;}
.vehicle-card .v-name{font-size:15px;color:#1f2937;margin-bottom:10px;}
.vehicle-card .v-price-row{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.vehicle-card .v-price{font-size:26px;font-weight:800;color:#111827;line-height:1;}
.vehicle-card .v-back{display:flex;align-items:center;gap:5px;font-size:13px;color:#8b94a1;}
.vehicle-card .v-back-icon{width:18px;height:18px;border-radius:4px;background:#3b82f6;display:inline-flex;align-items:center;justify-content:center;}
.vehicle-card .v-back-icon svg{width:12px;height:12px;stroke:#fff;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}

/* Seçilmeyenler soluk */
.vehicle-list.has-selection .vehicle-card:not(.selected){opacity:.25;filter:grayscale(.6);}
.vehicle-list.has-selection .vehicle-card:not(.selected):hover,
.vehicle-list.has-selection .vehicle-card:not(.selected):has(input:focus-visible){opacity:.85;filter:none;}

/* Fiyat yok notu */
.vehicle-note{margin:15px 20px;padding:12px 16px;border:1px dashed #d4a017;border-radius:10px;background:#fffbea;font-size:14px;color:#444;}

/* Mobil: her kart yatay, üstte ad, altta solda görsel, sağda fiyatlar */
@media(max-width:640px){
  .vehicle-list.vehicle-list{grid-template-columns:minmax(0,1fr);max-width:none;gap:12px;}
  .vehicle-list.vehicle-list .vehicle-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"name name" "img price";
    column-gap:12px;row-gap:6px;
    align-items:center;
    padding:12px 14px;
  }
  .vehicle-list.vehicle-list .v-name{grid-area:name;font-size:16px;font-weight:600;margin:0 32px 0 0;}
  .vehicle-list.vehicle-list .v-img{grid-area:img;height:110px;margin:0;}
  .vehicle-list.vehicle-list .v-price-row{grid-area:price;flex-direction:column;align-items:flex-end;justify-content:center;gap:8px;padding:0;}
  .vehicle-list.vehicle-list .v-price{font-size:26px;}
  .vehicle-card::after{width:22px;height:22px;font-size:13px;top:8px;right:8px;}
}

.v-tap-hint {
  position: absolute;
  top: 8px;
  right: 10px;
  width: 28px;
  height: 28px;
  color: #f5a623;
  pointer-events: none;
  animation: vTapPulse 1.6s ease-in-out infinite;
}
.v-tap-hint svg { width: 100%; height: 100%; display: block; }

/* Seçilince veya bir araç seçili iken gizle */
.vehicle-card.selected .v-tap-hint,
.vehicle-list.has-selection .v-tap-hint { display: none; }

@keyframes vTapPulse {
  0%, 100% { transform: translateY(0) scale(1); }
  50%      { transform: translateY(-2px) scale(1.08); }
}
@media (prefers-reduced-motion: reduce) {
  .v-tap-hint { animation: none; }
}