/* ========================================
   İlan Detay Sayfası Özel Stilleri
   ======================================== */

/* Ana Görsel ve Galeri */
.ana-gorsel { 
    width: 100%; 
    aspect-ratio: 16/9; 
    object-fit: cover; 
    border-radius: 12px; 
    cursor: pointer; 
}

.galeri-kucuk { 
    width: 100%; 
    height: 100px; 
    object-fit: cover; 
    border-radius: 8px; 
    cursor: pointer; 
    border: 2px solid transparent; 
    transition: border 0.2s; 
}

.galeri-kucuk:hover { 
    border-color: #0d6efd; 
}

.galeri-kucuk.border-primary { 
    border-color: #0d6efd !important; 
    box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.25); 
}

/* Harita */
#map { 
    height: 300px; 
    border-radius: 12px; 
    z-index: 1; 
}

/* Badge'ler */
.badge-satildi { 
    font-size: 1.2rem; 
    padding: 10px 15px; 
}

/* İletişim Kartı */
.iletisim-kart { 
    background: #f0f7ff; 
    border: 1px solid #d0e3f7; 
    border-radius: 12px; 
    padding: 18px; 
}

/* Detay Tablosu */
.detay-tablo td { 
    padding: 8px 0; 
    border-bottom: 1px solid #eee; 
}

.detay-tablo td:first-child { 
    font-weight: bold; 
    color: #555; 
    width: 40%; 
}

/* ========================================
   Benzer İlanlar Stilleri
   ======================================== */
.benzer-ilan-kart {
    transition: transform 0.2s, box-shadow 0.2s;
    overflow: hidden;
    position: relative;
}

.benzer-ilan-kart:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(0,0,0,0.15) !important;
}

.benzer-ilan-gorsel {
    aspect-ratio: 16/9;
    object-fit: cover;
    width: 100%;
}

/* Görsel Yok Placeholder */
.ilan-gorsel-placeholder {
    width: 100%;
    aspect-ratio: 16/9;
    background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #6c757d;
    border-radius: 12px;
}

.ilan-gorsel-placeholder .icon {
    width: 9.5rem;
    height: 9.5rem;
    margin-bottom: 0.75rem;
    opacity: 0.5;
}

.icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: -0.125em;
    fill: currentColor;
}

.icon-sm { width: 0.875em; height: 0.875em; }
.icon-lg { width: 1.25em; height: 1.25em; }
.icon-xl { width: 1.5em; height: 1.5em; }
.icon-2x { width: 2em; height: 2em; }
.icon-3x { width: 3em; height: 3em; }

.ilan-gorsel-placeholder span {
    font-size: 1rem;
    font-weight: 500;
    opacity: 0.7;
}

.benzer-ilan-baslik {
    min-height: 48px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.benzer-ilan-fiyat {
    font-size: 1.25rem;
    font-weight: bold;
    color: #198754;
}

.benzer-ilan-fiyat-yok {
    font-size: 0.9rem;
    color: #6c757d;
    font-weight: normal;
}

.benzer-ilan-satildi-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(220, 53, 69, 0.95);
    color: white;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: bold;
    z-index: 10;
}

/* ========================================
   Yıldız Puanlama Stilleri
   ======================================== */
.rating-input {
    flex-direction: row-reverse;
    justify-content: flex-end;
}

.rating-input .star-label {
    cursor: pointer;
    color: #dee2e6;
    transition: color 0.15s, transform 0.15s;
    user-select: none;
}

.rating-input .star-label:hover,
.rating-input .star-label:hover ~ .star-label,
.rating-input input:checked ~ .star-label {
    color: #ffc107;
}

.rating-input .star-label:hover {
    transform: scale(1.2);
}

.rating-input input:checked ~ .star-label {
    color: #ffc107;
}
