/* =========================================================
 * Firma Rehberi — Frontend CSS (Minimal)
 * Bootstrap + temanın CSS'i ile örtüşmeyen kurallar buraya.
 * ========================================================= */

/* --- Kart Grid (Bootstrap 12-col yerine auto-fill grid) --- */
.firma-listesi {
    display: grid;
    gap: 1rem;
}
.firma-gorunum-kart  { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 768px)  { .firma-gorunum-kart { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1200px) { .firma-gorunum-kart { grid-template-columns: repeat(4, 1fr); } }
.firma-gorunum-liste { grid-template-columns: 1fr; }

/* Liste modunda kart yatay */
.firma-gorunum-liste .firma-card { flex-direction: row; }
.firma-gorunum-liste .firma-card-logo {
    width: 90px;
    min-width: 90px;
    aspect-ratio: 1 !important;
    border-right: 1px solid var(--bs-border-color);
}

/* --- Kart Logo Alanı (Bootstrap'te aspect-ratio utility yok) --- */
.firma-card-logo {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    position: relative;
}

/* --- Öne Çıkarılan Badge (position-absolute start-0 top-0) --- */
.firma-featured-badge {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    font-size: 9px;
    letter-spacing: .5px;
    pointer-events: none;
}

/* --- Harita --- */
.firma-harita-embed { height: 230px; overflow: hidden; }

/* --- Kopyalama Toast --- */
.firma-copy-toast {
    position: fixed;
    bottom: 1.5rem;
    left: 50%;
    transform: translateX(-50%) translateY(12px);
    background: #1d2327;
    color: #fff;
    padding: .5rem 1.25rem;
    border-radius: .375rem;
    font-size: .8rem;
    opacity: 0;
    transition: opacity .25s, transform .25s;
    z-index: 9999;
    pointer-events: none;
    white-space: nowrap;
}
.firma-copy-toast.show {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

/* --- Yıldız Değerlendirme --- */
.firma-star-btn {
    transition: transform .15s ease;
    line-height: 1;
}
.firma-star-btn:hover {
    transform: scale(1.3);
}

/* --- Galeri Swiper --- */
.firma-galeri-swiper .swiper-slide { height: 100%; }
.firma-galeri-swiper .firma-galeri-lightbox-trigger { display: block; }
.firma-galeri-swiper img { width: 100%; height: 100%; object-fit: cover; display: block; }
.firma-galeri-swiper .swiper-button-prev,
.firma-galeri-swiper .swiper-button-next { color: #fff; background: rgba(0,0,0,.35); width: 36px; height: 36px; border-radius: 50%; }
.firma-galeri-swiper .swiper-button-prev::after,
.firma-galeri-swiper .swiper-button-next::after { font-size: 14px; font-weight: 700; }
.firma-galeri-thumbs { display: flex; justify-content: center; }
.firma-galeri-thumbs .swiper-wrapper { justify-content: center; gap: .5rem; }
.firma-galeri-thumbs .swiper-slide { width: 64px !important; height: 64px; border-radius: .25rem; overflow: hidden; }
.firma-galeri-thumbs .swiper-slide-thumb-active { opacity: 1 !important; outline: 2px solid var(--bs-primary); }

/* --- Mobilde tek sütun --- */
@media (max-width: 360px) {
    .firma-gorunum-kart { grid-template-columns: 1fr; }
}
@media (max-width: 576px) {
    .firma-iletisim th { width: 40% !important;}
}
