/* Mobil filtre/sıralama: derlenmiş Tailwind’de olmayan [.is-open] varyantlarına ihtiyaç duymaz */
@media (max-width: 1023px) {
    #firmalarFilterAside {
        position: fixed;
        inset: 0;
        z-index: 90;
        margin: 0;
        padding: 1rem;
        display: none;
        align-items: center;
        justify-content: center;
        pointer-events: none;
        opacity: 0;
        visibility: hidden;
    }
    #firmalarFilterAside.is-open {
        display: flex;
        pointer-events: auto;
        opacity: 1;
        visibility: visible;
    }
    #firmalarFilterBackdropBtn {
        position: absolute;
        inset: 0;
        z-index: 0;
        border: 0;
        cursor: pointer;
        background: rgba(15, 23, 42, 0.6);
        opacity: 0;
        transition: opacity 0.2s ease;
    }
    #firmalarFilterAside.is-open #firmalarFilterBackdropBtn {
        opacity: 1;
    }
    #firmalarFilterPanel {
        position: relative;
        z-index: 1;
        width: 100%;
        max-width: 32rem;
        max-height: min(90vh, 720px);
        overflow-y: auto;
        background: #fff;
        border-radius: 1rem;
        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.35);
        transform: scale(0.96);
        opacity: 0;
        transition: transform 0.2s ease, opacity 0.2s ease;
    }
    #firmalarFilterAside.is-open #firmalarFilterPanel {
        transform: scale(1);
        opacity: 1;
    }
    /* Modal içi boşluklar (Tailwind max-lg: sınıfları output.css’te olmayabiliyor) */
    #firmalarFilterPanel > div:first-child {
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
        padding-top: 0.875rem;
        padding-bottom: 0.875rem;
        box-sizing: border-box;
    }
    #firmalarFilterPanel > div:nth-child(2) {
        padding: 1rem 1.25rem max(1.75rem, env(safe-area-inset-bottom)) !important;
        box-sizing: border-box;
    }
    #firmalarSortSheet {
        position: fixed;
        inset: 0;
        z-index: 95;
        margin: 0;
        padding: 1rem;
        display: none;
        align-items: center;
        justify-content: center;
        pointer-events: none;
        opacity: 0;
        visibility: hidden;
    }
    #firmalarSortSheet.is-open {
        display: flex;
        pointer-events: auto;
        opacity: 1;
        visibility: visible;
    }
    #firmalarSortBackdropBtn {
        position: absolute;
        inset: 0;
        z-index: 0;
        border: 0;
        cursor: pointer;
        background: rgba(15, 23, 42, 0.6);
        opacity: 0;
        transition: opacity 0.2s ease;
    }
    #firmalarSortSheet.is-open #firmalarSortBackdropBtn {
        opacity: 1;
    }
    #firmalarSortPanel {
        position: relative;
        z-index: 1;
        width: 100%;
        max-width: 28rem;
        max-height: min(85vh, 520px);
        overflow-y: auto;
        background: #fff;
        border-radius: 1rem;
        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.35);
        transform: scale(0.96);
        opacity: 0;
        transition: transform 0.2s ease, opacity 0.2s ease;
    }
    #firmalarSortSheet.is-open #firmalarSortPanel {
        transform: scale(1);
        opacity: 1;
    }
    /* Verilen hizmet: global checkbox min-height override */
    #hizmetFiltreList .firma-hizmet-filtre-cb,
    #hizmetFiltreList input[type="checkbox"] {
        min-height: 1rem !important;
        height: 1rem !important;
        width: 1rem !important;
        min-width: 1rem !important;
        margin: 0 !important;
        flex-shrink: 0;
    }
    #hizmetFiltreList .firma-hizmet-filtre-satir {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        min-height: 44px;
        padding: 0.375rem 0.5rem;
    }
    #hizmetFiltreList .firma-hizmet-filtre-satir span {
        flex: 1;
        min-width: 0;
    }
    #firmalarFilterPanel form select,
    #firmalarFilterPanel form .select {
        font-size: 16px;
    }
}
@media (min-width: 1024px) {
    #firmalarFilterAside {
        position: relative !important;
        inset: auto !important;
        display: block !important;
        padding: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
    #firmalarFilterBackdropBtn {
        display: none !important;
    }
    #firmalarFilterPanel {
        max-height: none !important;
        max-width: none !important;
        transform: none !important;
        opacity: 1 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
    }
    #firmalarSortSheet {
        display: none !important;
    }
}

/* Firma listesi: eşit sütunlar (auto-fill bazen satırlar arası hizayı bozuyordu) */
#firmalar-container {
    display: grid !important;
    width: 100%;
    box-sizing: border-box;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem 1.5rem;
    align-items: stretch;
    /* DOM pencereleme spacer'ı manuel yönetildiği için tarayıcı scroll anchoring'i kapalı */
    overflow-anchor: none;
}
.firmalar-window-spacer {
    grid-column: 1 / -1;
    width: 100%;
    pointer-events: none;
}
@media (min-width: 640px) {
    #firmalar-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (min-width: 1024px) {
    #firmalar-container {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
#firmalar-container > a[data-firma-id]{
    min-width: 0;
    width: 100%;
    max-width: 100%;
}
#firmalar-container .firmalar-inline-ad {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    contain: layout paint style;
    isolation: isolate;
}

/* Google reklam alanı oluştu ama reklam doldurulmadıysa, 6 firma arasındaki boşluğu kapat. */
#firmalar-container .firmalar-inline-ad:has(ins.adsbygoogle[data-ad-status="unfilled"]) {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

#firmalar-container .firmalar-inline-ad:has(ins.adsbygoogle[data-ad-status="unfilled"]) > div {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* Mobil: GPU katman taşması / bozuk görüntü önleme.
   overflow-hidden + border-radius + transition birlikteliği Android Chrome'da
   scroll sırasında repaint izi (smear/piksel bozukluğu) bırakıyor.
   Kartlara translateZ(0) ile ayrı compositing katmanı veriliyor,
   mobilde border/shadow transition'ı tamamen kaldırılıyor. */
@media (max-width: 1023px) {
    /* Kart wrapper: kendi compositing katmanı */
    
    /* Article: transition'ı kapat (shadow/border geçişi smear'a neden oluyor) */
    
    /* Görsel alanı: image transform'u kapat */
    
    /* Görsel sarmalayıcı: overflow clip ile smear önleme */
    
    #firmalar-container .firmalar-inline-ad > div {
        overflow: hidden !important;
        min-height: 90px;
        max-height: 300px;
    }
}

#sektor-alt-kategori-grid {
    display: grid !important;
    width: 100%;
    box-sizing: border-box;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem 1.5rem;
    align-items: stretch;
}
@media (min-width: 640px) {
    #sektor-alt-kategori-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (min-width: 1024px) {
    #sektor-alt-kategori-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
#sektor-alt-kategori-grid > a {
    min-width: 0;
    width: 100%;
    max-width: 100%;
}

/* =========================================================
   PUAN.COM MOBİL FİRMA KEŞFET DENEYİMİ
   Yalnız 1023px ve altında çalışır; masaüstü kartları korunur.
   ========================================================= */
@media (max-width: 1023px) {
    body {
        padding-bottom: calc(5.25rem + env(safe-area-inset-bottom));
        background: #f7f8fa;
    }
    .firmalar-hero {
        display: none !important;
    }
    .firmalar-hero + section {
        padding-top: .75rem !important;
        padding-bottom: 1.25rem !important;
    }
    .firmalar-hero + section > .container-custom {
        padding-left: .75rem !important;
        padding-right: .75rem !important;
    }

    /* Üst kontrol alanı */
    .firmalar-mobile-toolbar {
        margin-bottom: .75rem;
        overflow: hidden;
        border: 1px solid #d2d8e1;
        border-radius: 1.25rem;
        background: #fff;
        box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
    }
    .firmalar-mobile-toolbar__summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .75rem;
        padding: 1rem 1rem .85rem;
        border-bottom: 1px solid #eef0f3;
    }
    .firmalar-mobile-toolbar__summary > div {
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: .2rem;
    }
    .firmalar-mobile-toolbar__summary strong {
        color: #111827;
        font-size: 1.2rem;
        line-height: 1.15;
        font-weight: 900;
        letter-spacing: -.025em;
    }
    .firmalar-mobile-toolbar__summary span {
        overflow: hidden;
        color: #6b7280;
        font-size: .78rem;
        line-height: 1.2;
        white-space: nowrap;
        text-overflow: ellipsis;
    }
    .firmalar-mobile-sort-button {
        display: inline-flex;
        min-height: 2.75rem;
        flex: 0 0 auto;
        align-items: center;
        gap: .45rem;
        padding: .65rem .8rem;
        border: 1px solid #dfe3e8;
        border-radius: 1rem;
        background: #fff;
        color: #111827;
        font-size: .8rem;
        font-weight: 800;
    }
    .firmalar-mobile-sort-button svg {
        width: 1.1rem;
        height: 1.1rem;
    }
    .firmalar-mobile-sort-button__chevron {
        width: .85rem !important;
        height: .85rem !important;
    }
    .firmalar-mobile-toolbar__controls {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: .45rem;
        padding: .8rem .75rem;
    }
    .firmalar-mobile-filter-shortcut,
    .firmalar-mobile-filter-main {
        position: relative;
        display: flex;
        min-width: 0;
        min-height: 2.75rem;
        align-items: center;
        justify-content: center;
        gap: .2rem;
        padding: .55rem .4rem;
        border: 1px solid #dfe3e8;
        border-radius: .85rem;
        background: #fff;
        color: #111827;
        font-size: .73rem;
        font-weight: 750;
        line-height: 1;
    }
    .firmalar-mobile-filter-shortcut span,
    .firmalar-mobile-filter-main span {
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }
    .firmalar-mobile-filter-shortcut svg {
        width: .72rem;
        height: .72rem;
        flex: 0 0 auto;
    }
    .firmalar-mobile-filter-main {
        border-color: #111;
        background: #111;
        color: #fff;
    }
    .firmalar-mobile-filter-main svg {
        width: 1rem;
        height: 1rem;
        flex: 0 0 auto;
    }
    .firmalar-mobile-filter-main b {
        position: absolute;
        right: -.25rem;
        top: -.35rem;
        display: inline-flex;
        width: 1.15rem;
        height: 1.15rem;
        align-items: center;
        justify-content: center;
        border: 2px solid #fff;
        border-radius: 999px;
        background: #16a34a;
        color: #fff;
        font-size: .6rem;
        font-weight: 900;
    }
    .firmalar-mobile-toolbar__chips {
        display: flex;
        gap: .45rem;
        overflow-x: auto;
        padding: 0 .75rem .85rem;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .firmalar-mobile-toolbar__chips::-webkit-scrollbar { display: none; }
    .firmalar-mobile-toolbar__chips button {
        display: inline-flex;
        min-height: 2rem;
        flex: 0 0 auto;
        align-items: center;
        gap: .45rem;
        padding: .4rem .65rem;
        border: 1px solid #dcf0df;
        border-radius: 999px;
        background: #f0f9f1;
        color: #276b32;
        font-size: .7rem;
        font-weight: 750;
    }
    .firmalar-mobile-toolbar__chips button span {
        max-width: 9rem;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }
    .firmalar-mobile-toolbar__chips button i {
        color: #111827;
        font-size: .95rem;
        font-style: normal;
        line-height: 1;
    }

    /* Kompakt yatay firma kartı */
    #firmalar-container {
        display: flex !important;
        flex-direction: column;
        gap: .65rem !important;
        margin-bottom: .75rem !important;
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    /* Filtre bottom sheet */
    #firmalarFilterAside {
        display: flex !important;
        align-items: flex-end !important;
        justify-content: stretch !important;
        padding: 0 !important;
    }
    #firmalarFilterAside:not(.is-open) {
        display: none !important;
    }
    #firmalarFilterBackdropBtn {
        background: rgba(17, 24, 39, .58) !important;
        backdrop-filter: blur(1.5px);
    }
    #firmalarFilterPanel {
        width: 100% !important;
        max-width: none !important;
        max-height: min(91dvh, 780px) !important;
        margin: 0 !important;
        overflow-y: auto !important;
        border-radius: 1.5rem 1.5rem 0 0 !important;
        box-shadow: 0 -18px 45px rgba(15, 23, 42, .22) !important;
        transform: translateY(105%) !important;
        opacity: 1 !important;
        overscroll-behavior: contain;
    }
    #firmalarFilterAside.is-open #firmalarFilterPanel {
        transform: translateY(0) !important;
    }
    #firmalarFilterPanel > div:first-child {
        padding: .55rem 1rem .7rem !important;
    }
    #firmalarFilterPanel > div:nth-child(2) {
        padding: .35rem 1rem calc(5.75rem + env(safe-area-inset-bottom)) !important;
    }
    .firmalar-filter-mobile-head {
        position: sticky;
        top: 0;
        z-index: 30;
        background: rgba(255,255,255,.97);
        border-bottom: 1px solid #edf0f2;
        backdrop-filter: blur(12px);
    }
    .firmalar-filter-drag {
        display: block;
        width: 2.75rem;
        height: .27rem;
        margin: 0 auto .5rem;
        border-radius: 999px;
        background: #c8cdd3;
    }
    .firmalar-filter-mobile-head__row {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .firmalar-filter-close {
        display: inline-flex;
        width: 2.5rem;
        height: 2.5rem;
        align-items: center;
        justify-content: center;
        border: 0;
        border-radius: 999px;
        background: #f4f5f6;
        color: #111827;
    }
    .firmalar-filter-close svg { width: 1.35rem; height: 1.35rem; }
    .firmalar-filter-form {
        padding-bottom: .25rem;
    }
    .firmalar-filter-form > div:not(.firmalar-filter-actions) {
        margin-top: 0 !important;
        padding: .8rem 0;
        border-bottom: 1px solid #eff1f3;
    }
    .firmalar-filter-form label.block,
    .firmalar-filter-section-title,
    .firmalar-filter-score-section legend {
        margin-bottom: .55rem !important;
        color: #111827 !important;
        font-size: .8rem !important;
        font-weight: 850 !important;
    }
    .firmalar-filter-form input[type="text"],
    .firmalar-filter-form input[type="search"],
    .firmalar-filter-form select,
    #sektorSearch {
        min-height: 3rem;
        border: 1px solid #dfe3e8 !important;
        border-radius: .85rem !important;
        background: #fff !important;
        font-size: 16px !important;
        box-shadow: none !important;
    }
    #sektorDropdown {
        z-index: 120 !important;
        border-radius: 1rem !important;
    }
    #hizmetFiltreList {
        max-height: 12rem !important;
        padding: .35rem !important;
        border-color: #e4e7eb !important;
        border-radius: .85rem !important;
        background: #fff !important;
    }
    #hizmetFiltreList .firma-hizmet-filtre-satir {
        min-height: 2.65rem;
        border-radius: .7rem;
    }
    .firmalar-filter-score-grid {
        display: grid;
        gap: .85rem;
    }
    .firmalar-filter-score-grid fieldset {
        min-width: 0;
        margin: 0;
        padding: 0;
        border: 0;
    }
    .firmalar-filter-choice-row {
        display: flex;
        gap: .4rem;
        overflow-x: auto;
        scrollbar-width: none;
    }
    .firmalar-filter-choice-row::-webkit-scrollbar { display: none; }
    .firmalar-filter-choice {
        position: relative;
        flex: 1 0 3.25rem;
        min-width: 3.25rem;
    }
    .firmalar-filter-choice input {
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }
    .firmalar-filter-choice span {
        display: flex;
        min-height: 2.45rem;
        align-items: center;
        justify-content: center;
        padding: .45rem .55rem;
        border: 1px solid #dfe3e8;
        border-radius: .75rem;
        background: #fff;
        color: #374151;
        font-size: .72rem;
        font-weight: 750;
    }
    .firmalar-filter-choice input:checked + span {
        border-color: #78bd82;
        background: #edf8ef;
        color: #237132;
        box-shadow: inset 0 0 0 1px rgba(47,158,68,.08);
    }
    .firmalar-filter-extras {
        display: grid;
        gap: .5rem;
    }
    .firmalar-filter-toggle {
        display: flex;
        min-height: 3rem;
        align-items: center;
        justify-content: space-between;
        gap: .75rem;
        padding: .6rem .75rem;
        border: 1px solid #e2e5e9;
        border-radius: .85rem;
        background: #fff;
    }
    .firmalar-filter-toggle > span {
        display: flex;
        min-width: 0;
        align-items: center;
        gap: .55rem;
        color: #374151;
        font-size: .78rem;
        font-weight: 700;
    }
    .firmalar-filter-toggle svg { width: 1.05rem; height: 1.05rem; color: #4b5563; }
    .firmalar-filter-toggle input {
        position: absolute;
        opacity: 0;
    }
    .firmalar-filter-toggle i {
        position: relative;
        display: block;
        width: 2.35rem;
        height: 1.35rem;
        flex: 0 0 2.35rem;
        border-radius: 999px;
        background: #d8dce1;
        transition: background .18s ease;
    }
    .firmalar-filter-toggle i::after {
        content: "";
        position: absolute;
        left: .17rem;
        top: .17rem;
        width: 1.01rem;
        height: 1.01rem;
        border-radius: 999px;
        background: #fff;
        box-shadow: 0 1px 4px rgba(0,0,0,.18);
        transition: transform .18s ease;
    }
    .firmalar-filter-toggle input:checked + i { background: #2f9e44; }
    .firmalar-filter-toggle input:checked + i::after { transform: translateX(1rem); }
    .firmalar-filter-actions {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 40;
        display: grid;
        grid-template-columns: .8fr 1.45fr;
        gap: .65rem;
        padding: .75rem 1rem calc(.75rem + env(safe-area-inset-bottom));
        border-top: 1px solid #e7eaee;
        background: rgba(255,255,255,.97);
        backdrop-filter: blur(14px);
    }
    .firmalar-filter-clear,
    .firmalar-filter-submit {
        display: flex;
        min-height: 3.1rem;
        align-items: center;
        justify-content: center;
        border-radius: .9rem;
        font-size: .78rem;
        font-weight: 850;
    }
    .firmalar-filter-clear {
        border: 1px solid #b7dabb;
        background: #fff;
        color: #277433;
    }
    .firmalar-filter-submit {
        border: 1px solid #16852b;
        background: linear-gradient(135deg, #249f39, #178b2e);
        color: #fff;
        box-shadow: 0 7px 18px rgba(34, 151, 54, .22);
    }

    /* Sıralama da aynı mobil dilde bottom sheet */
    #firmalarSortSheet {
        display: flex !important;
        align-items: flex-end !important;
        justify-content: stretch !important;
        padding: 0 !important;
    }
    #firmalarSortSheet:not(.is-open) { display: none !important; }
    #firmalarSortPanel {
        width: 100% !important;
        max-width: none !important;
        border-radius: 1.5rem 1.5rem 0 0 !important;
        transform: translateY(105%) !important;
        opacity: 1 !important;
    }
    #firmalarSortSheet.is-open #firmalarSortPanel { transform: translateY(0) !important; }

    /* Sabit mobil alt menü */
    .firmalar-mobile-bottom-nav {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 70;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        min-height: 4.85rem;
        padding: .38rem .35rem calc(.35rem + env(safe-area-inset-bottom));
        border-top: 1px solid #e5e7eb;
        background: rgba(255,255,255,.96);
        box-shadow: 0 -8px 24px rgba(15,23,42,.07);
        backdrop-filter: blur(15px);
    }
    .firmalar-mobile-bottom-nav > a {
        display: flex;
        min-width: 0;
        align-items: center;
        justify-content: flex-end;
        flex-direction: column;
        gap: .18rem;
        color: #4b5563;
        font-size: .58rem;
        font-weight: 700;
        line-height: 1;
    }
    .firmalar-mobile-bottom-nav > a svg {
        width: 1.38rem;
        height: 1.38rem;
    }
    .firmalar-mobile-bottom-nav > a.is-active { color: #218d35; }
    .firmalar-mobile-bottom-nav__add {
        transform: translateY(-.7rem);
    }
    .firmalar-mobile-bottom-nav__add-icon {
        display: flex;
        width: 3.4rem;
        height: 3.4rem;
        align-items: center;
        justify-content: center;
        border: 4px solid #fff;
        border-radius: 999px;
        background: linear-gradient(145deg, #3ab34d, #198b30);
        color: #fff;
        font-size: 2.15rem;
        font-weight: 300;
        line-height: 1;
        box-shadow: 0 7px 18px rgba(30,143,48,.3);
    }
}

@media (max-width: 359px) {
    .firmalar-mobile-toolbar__controls { gap: .3rem; padding-inline: .55rem; }
    .firmalar-mobile-filter-shortcut,
    .firmalar-mobile-filter-main { font-size: .66rem; padding-inline: .25rem; }
    
    
    
}

#firmalar-container > .firma-liste-entry {
    min-width: 0;
    width: 100%;
    max-width: 100%;
}
@media (min-width: 1024px) {
    #firmalar-container > .firma-liste-entry{
        height: 100%;
    }
}

/* Yeni filtre alanının masaüstü karşılığı */
.firmalar-filter-score-section,
.firmalar-filter-extras {
    border-top: 1px solid #eef0f3;
    padding-top: 1rem;
}
.firmalar-filter-score-grid {
    display: grid;
    gap: 1rem;
}
.firmalar-filter-score-grid fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}
.firmalar-filter-score-grid legend,
.firmalar-filter-section-title {
    margin-bottom: .65rem;
    color: #111827;
    font-size: .875rem;
    font-weight: 800;
}
.firmalar-filter-choice-row {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}
.firmalar-filter-choice {
    position: relative;
}
.firmalar-filter-choice input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.firmalar-filter-choice span {
    display: inline-flex;
    min-height: 2.25rem;
    align-items: center;
    justify-content: center;
    padding: .45rem .65rem;
    border: 1px solid #dfe3e8;
    border-radius: .7rem;
    background: #fff;
    color: #4b5563;
    font-size: .75rem;
    font-weight: 700;
    cursor: pointer;
}
.firmalar-filter-choice input:checked + span {
    border-color: #7abe83;
    background: #eef8ef;
    color: #246f31;
}
.firmalar-filter-extras {
    display: grid;
    gap: .55rem;
}
.firmalar-filter-toggle {
    display: flex;
    min-height: 3rem;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .65rem .75rem;
    border: 1px solid #e2e5e9;
    border-radius: .8rem;
    background: #fff;
}
.firmalar-filter-toggle > span {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: #374151;
    font-size: .78rem;
    font-weight: 700;
}
.firmalar-filter-toggle svg { width: 1.05rem; height: 1.05rem; }
.firmalar-filter-toggle input { position: absolute; opacity: 0; }
.firmalar-filter-toggle i {
    position: relative;
    display: block;
    width: 2.35rem;
    height: 1.35rem;
    flex: 0 0 2.35rem;
    border-radius: 999px;
    background: #d8dce1;
}
.firmalar-filter-toggle i::after {
    content: "";
    position: absolute;
    left: .17rem;
    top: .17rem;
    width: 1.01rem;
    height: 1.01rem;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,.18);
    transition: transform .18s ease;
}
.firmalar-filter-toggle input:checked + i { background: #2f9e44; }
.firmalar-filter-toggle input:checked + i::after { transform: translateX(1rem); }
.firmalar-filter-actions {
    display: grid;
    gap: .65rem;
    padding-top: 1rem;
    border-top: 1px solid #eef0f3;
}
.firmalar-filter-clear,
.firmalar-filter-submit {
    display: flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    border-radius: .85rem;
    font-size: .8rem;
    font-weight: 850;
}
.firmalar-filter-clear {
    order: 2;
    border: 1px solid #e1e4e8;
    background: #f6f7f8;
    color: #4b5563;
}
.firmalar-filter-submit {
    order: 1;
    border: 1px solid #16852b;
    background: #229b38;
    color: #fff;
}
@media (max-width: 1023px) {
    .firmalar-filter-clear { order: 1; }
    .firmalar-filter-submit { order: 2; }
}

/* =========================================================
   FİRMA LİSTESİ SON DÜZELTME
   - Hero mobilde korunur
   - Mobil ve masaüstünde aynı yatay kart dili
   - Puan AI + Müşteri puanı birlikte görünür
   ========================================================= */

/* Ortak modern kart */
#firmalar-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
}
#firmalar-container > .firma-liste-entry {
    min-width: 0;
    height: auto !important;
}
.firma-modern-list-card {
    position: relative;
    display: grid;
    grid-template-columns: 13.5rem minmax(0, 1fr);
    min-width: 0;
    min-height: 12rem;
    height: 12rem;
    overflow: hidden;
    border: 1px solid #e2e6ea;
    border-radius: 1.25rem;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .055);
    isolation: isolate;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.firma-modern-list-card:hover {
    transform: translateY(-2px);
    border-color: rgba(34, 197, 94, .35);
    box-shadow: 0 14px 34px rgba(15, 23, 42, .09);
}
.firma-modern-list-card__link {
    position: absolute;
    inset: 0;
    z-index: 20;
    border-radius: inherit;
}
.firma-modern-list-card__media {
    position: relative;
    min-width: 0;
    min-height: 12rem;
    height: 12rem;
    overflow: hidden;
    background: #e7eaee;
}
.firma-modern-list-card__media--has-image::before {
    content: "";
    background-image: var(--firma-card-bg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    inset: -12%;
    width: 124%;
    height: 124%;
    object-fit: cover;
    filter: blur(16px) saturate(.88);
    opacity: .88;
    transform: scale(1.06);
}
.firma-modern-list-card__media-main {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 12rem;
    min-height: 12rem;
    object-fit: contain;
}
.firma-modern-list-card__placeholder {
    position: relative;
    z-index: 1;
    display: flex;
    min-height: 12rem;
    height: 12rem;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #f3f4f6, #e5e7eb);
    color: #9ca3af;
    font-size: 2.2rem;
    font-weight: 900;
}
.firma-modern-list-card__featured {
    position: absolute;
    left: .75rem;
    top: .75rem;
    z-index: 3;
    padding: .34rem .6rem;
    border-radius: 999px;
    background: rgba(22, 163, 74, .94);
    color: #fff;
    font-size: .68rem;
    font-weight: 850;
    box-shadow: 0 4px 14px rgba(0,0,0,.16);
}
.firma-modern-list-card__body {
    position: relative;
    z-index: 2;
    display: grid;
    min-width: 0;
    min-height: 0;
    height: 100%;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    align-content: stretch;
    padding: 1rem 1rem 0;
}
.firma-modern-list-card__top {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    gap: .45rem;
    grid-row: 1;
}
.firma-modern-list-card__top h3 {
    display: -webkit-box;
    min-width: 0;
    overflow: hidden;
    color: #111827;
    font-size: 1.2rem;
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: -.025em;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.firma-modern-list-card__verified {
    display: inline-flex;
    width: 1.1rem;
    height: 1.1rem;
    flex: 0 0 1.1rem;
    color: #2f9e44;
}
.firma-modern-list-card__verified svg { width: 100%; height: 100%; }
.firma-modern-list-card__details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, max-content));
    gap: .4rem 1rem;
    margin-top: .65rem;
    grid-row: 2;
    align-self: start;
}
.firma-modern-list-card__meta {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .3rem;
    color: #4b5563;
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.2;
}
.firma-modern-list-card__meta svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 1rem;
}
.firma-modern-list-card__meta span {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.firma-modern-list-card__sector { color: #2f8d3c; }
.firma-modern-list-card__services {
    display: flex;
    gap: .42rem;
    min-width: 0;
    margin-top: .75rem;
    overflow: hidden;
    grid-row: 3;
    align-self: start;
}
.firma-modern-list-card__services span {
    display: inline-flex;
    min-width: 0;
    max-width: 11rem;
    flex: 0 1 auto;
    align-items: center;
    overflow: hidden;
    padding: .35rem .58rem;
    border: 1px solid #e9ecef;
    border-radius: .62rem;
    background: #f7f8f9;
    color: #4b5563;
    font-size: .72rem;
    font-weight: 680;
    line-height: 1;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.firma-modern-list-card__scores {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto;
    min-width: 0;
    min-height: 4.1rem;
    align-items: stretch;
    align-self: end;
    gap: 0;
    grid-row: 4;
    margin: 0 -1rem 0;
    padding: .42rem .72rem .62rem;
    border-top: 1px solid #dfe4ea;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfd 100%);
}
.firma-modern-list-card__score {
    display: flex;
    min-width: 0;
    min-height: 100%;
    align-items: stretch;
    align-self: stretch;
}
.firma-modern-list-card__score-content {
    display: grid;
    min-width: 0;
    width: 100%;
    height: 100%;
    grid-template-rows: .92rem minmax(0, 1fr);
    align-content: stretch;
    gap: .1rem;
}
.firma-modern-list-card__score-label {
    display: flex;
    align-items: flex-start;
    overflow: visible;
    min-height: .92rem;
    color: #334155;
    font-size: .75rem;
    font-weight: 850;
    line-height: 1.12;
    letter-spacing: 0;
    text-transform: none;
    white-space: normal;
}
.firma-modern-list-card__score-mainline {
    display: flex;
    min-width: 0;
    min-height: 1.9rem;
    align-items: center;
    align-self: center;
    gap: .42rem;
    flex-wrap: wrap;
}
.firma-modern-list-card__score-icon {
    display: inline-flex;
    width: 1.38rem;
    height: 1.38rem;
    flex: 0 0 1.38rem;
    align-items: center;
    justify-content: center;
    color: #2fa044;
}
.firma-modern-list-card__score-icon img,
.firma-modern-list-card__score-icon svg {
    width: 1.38rem;
    height: 1.38rem;
    object-fit: contain;
}
.firma-modern-list-card__score strong {
    overflow: hidden;
    color: #0f172a;
    font-size: 1.12rem;
    font-weight: 900;
    line-height: 1.05;
    white-space: nowrap;
    text-overflow: ellipsis;
    letter-spacing: -.02em;
}
.firma-modern-list-card__score strong small {
    margin-left: .08rem;
    color: #64748b;
    font-size: .72rem;
    font-weight: 800;
}
.firma-modern-list-card__score--ai .firma-modern-list-card__score-content {
    align-items: flex-start;
    padding-left: .08rem;
    text-align: left;
}
.firma-modern-list-card__score--ai .firma-modern-list-card__score-mainline {
    justify-content: center;
}
.firma-modern-list-card__score--customer .firma-modern-list-card__score-content {
    align-items: center;
    text-align: center;
}
.firma-modern-list-card__score--customer .firma-modern-list-card__score-label {
    position: relative;
    left: .12rem;
}
.firma-modern-list-card__score--customer .firma-modern-list-card__score-mainline {
    justify-content: center;
}
.firma-modern-list-card__score--ai strong {
    color: #16a34a;
    font-size: 1.48rem;
}
.firma-modern-list-card__score--ai strong small {
    color: #64748b;
}
.firma-modern-list-card__score--customer strong {
    font-size: 1.08rem;
}
.firma-modern-list-card__score-review {
    overflow: hidden;
    color: #6b7280;
    font-size: .74rem;
    font-weight: 700;
    line-height: 1.1;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.firma-modern-list-card__score-badge {
    display: none;
    align-items: center;
    min-height: 1.35rem;
    padding: .18rem .54rem;
    border-radius: 999px;
    background: #ecfdf3;
    color: #238636 !important;
    font-size: .68rem !important;
    font-weight: 850 !important;
    line-height: 1;
}
.firma-modern-list-card__score-divider {
    width: 1px;
    align-self: stretch;
    margin: 0 .72rem;
    background: linear-gradient(180deg, rgba(148,163,184,0) 0%, rgba(148,163,184,.7) 18%, rgba(148,163,184,.7) 82%, rgba(148,163,184,0) 100%);
}
.firma-modern-list-card__score--customer strong {
    font-size: 1.18rem;
}
.firma-modern-list-card__arrow {
    width: 1.08rem;
    height: 1.08rem;
    align-self: center;
    margin-left: .62rem;
    color: #111827;
}
.firmalar-inline-ad { grid-column: 1 / -1; }

@media (min-width: 1536px) {
    #firmalar-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .firma-modern-list-card {
        grid-template-columns: 10.5rem minmax(0, 1fr);
        min-height: 11.5rem;
        height: 11.5rem;
    }
    .firma-modern-list-card__media,
    .firma-modern-list-card__media-main,
    .firma-modern-list-card__placeholder {
        min-height: 11.5rem;
        height: 11.5rem;
    }
    .firma-modern-list-card__details {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 1023px) {
    /* H1 ve kısa açıklama mobilde yeniden görünür */
    .firmalar-hero {
        display: block !important;
        padding: .8rem 0 .35rem !important;
        border-bottom: 0 !important;
        background: #f7f8fa !important;
    }
    .firmalar-hero .container-custom {
        padding-left: .9rem !important;
        padding-right: .9rem !important;
    }
    .firmalar-hero .mx-auto {
        max-width: none !important;
        text-align: left !important;
    }
    .firmalar-hero .mx-auto > div:first-child {
        display: none !important;
    }
    .firmalar-hero h1 {
        margin: 0 0 .25rem !important;
        padding: 0 !important;
        color: #111827 !important;
        font-size: 1.22rem !important;
        font-weight: 900 !important;
        line-height: 1.18 !important;
        letter-spacing: -.025em !important;
    }
    .firmalar-hero p {
        margin: 0 !important;
        padding: 0 !important;
        color: #6b7280 !important;
        font-size: .75rem !important;
        line-height: 1.45 !important;
    }
    .firmalar-hero + section {
        padding-top: .45rem !important;
    }

    #firmalar-container {
        display: flex !important;
        flex-direction: column;
        gap: .62rem !important;
    }
    .firma-modern-list-card {
        grid-template-columns: minmax(7.85rem, 41%) minmax(0, 1fr);
        min-height: 9.95rem;
        height: 9.95rem;
        border-radius: 1rem;
        box-shadow: 0 6px 17px rgba(15, 23, 42, .05), 0 2px 0 rgba(15, 23, 42, .24);
    }
    .firma-modern-list-card:hover { transform: none; }
    .firma-modern-list-card__media,
    .firma-modern-list-card__media-main,
    .firma-modern-list-card__placeholder {
        min-height: 9.95rem;
        height: 9.95rem;
    }
    .firma-modern-list-card__media--has-image::before {
    content: "";
    background-image: var(--firma-card-bg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
        filter: blur(12px) saturate(.86);
    }
    .firma-modern-list-card__featured {
        left: .45rem;
        top: .45rem;
        padding: .25rem .42rem;
        font-size: .56rem;
    }
    .firma-modern-list-card__body {
        padding: .66rem .62rem 0;
    }
    .firma-modern-list-card__top h3 {
        font-size: .89rem;
        line-height: 1.12;
    }
    .firma-modern-list-card__verified {
        width: .9rem;
        height: .9rem;
        flex-basis: .9rem;
    }
    .firma-modern-list-card__details {
        grid-template-columns: minmax(0, 1fr);
        gap: .28rem;
        margin-top: .42rem;
    }
    .firma-modern-list-card__meta {
        gap: .3rem;
        font-size: .66rem;
    }
    .firma-modern-list-card__meta svg {
        width: .82rem;
        height: .82rem;
        flex-basis: .82rem;
    }
    .firma-modern-list-card__services {
        gap: .28rem;
        margin-top: .45rem;
    }
    .firma-modern-list-card__services span {
        max-width: 6rem;
        padding: .25rem .4rem;
        border-radius: .48rem;
        font-size: .54rem;
    }
    .firma-modern-list-card__scores {
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto;
        min-height: 3.18rem;
        margin-left: -.62rem;
        margin-right: -.62rem;
        padding: .28rem .42rem .44rem;
    }
    .firma-modern-list-card__score-content {
        grid-template-rows: .72rem minmax(0, 1fr);
        gap: .04rem;
    }
    .firma-modern-list-card__score-label {
        min-height: .72rem;
        font-size: .61rem;
        line-height: 1.1;
    }
    .firma-modern-list-card__score-mainline {
        min-height: 1.24rem;
        gap: .14rem;
    }
    .firma-modern-list-card__score-icon {
        width: 1.02rem;
        height: 1.02rem;
        flex-basis: 1.02rem;
    }
    .firma-modern-list-card__score-icon img,
    .firma-modern-list-card__score-icon svg {
        width: 1.02rem;
        height: 1.02rem;
    }
    .firma-modern-list-card__score strong {
        font-size: .92rem;
    }
    .firma-modern-list-card__score--ai strong {
        font-size: 1.02rem;
    }
    .firma-modern-list-card__score--customer strong {
        font-size: .96rem;
    }
    .firma-modern-list-card__score strong small {
        font-size: .55rem;
    }
    .firma-modern-list-card__score-review {
        font-size: .58rem;
    }
    .firma-modern-list-card__score-badge {
        display: none;
        min-height: 1rem;
        padding: .1rem .3rem;
        font-size: .53rem !important;
    }
    .firma-modern-list-card__score-divider {
        margin: 0 .22rem;
    }

    .firma-modern-list-card__score--ai .firma-modern-list-card__score-content {
        padding-left: 0;
    }
    .firma-modern-list-card__score--ai .firma-modern-list-card__score-mainline {
        justify-content: center;
    }
    .firma-modern-list-card__arrow {
        width: .85rem;
        height: .85rem;
        margin-left: .28rem;
    }

    .firmalar-mobile-bottom-nav--4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .firmalar-mobile-bottom-nav--5 {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (max-width: 359px) {
    .firma-modern-list-card {
        grid-template-columns: minmax(6.6rem, 37%) minmax(0, 1fr);
        min-height: 9.4rem;
        height: 9.4rem;
    }
    .firma-modern-list-card__media,
    .firma-modern-list-card__media-main,
    .firma-modern-list-card__placeholder {
        min-height: 9.4rem;
        height: 9.4rem;
    }
    .firma-modern-list-card__score-review { display: none; }
    .firma-modern-list-card__score-badge { display: inline-flex; }
    .firma-modern-list-card__score-label { font-size: .52rem; }
    .firma-modern-list-card__score-divider { margin: 0 .22rem; }
}

/* =========================================================
   FİRMA KEŞFET — ÜST ALAN, FİLTRE VE MODERN LİSTE DÜZENİ
   ========================================================= */
.firmalar-hero {
    display: none !important;
}
.firmalar-list-section {
    padding: .65rem 0 4rem;
}

.firmalar-discovery-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 11.25rem;
    grid-template-areas:
        "intro actions"
        "chips chips";
    align-items: start;
    gap: .85rem 1rem;
    margin-bottom: 1.15rem;
    padding: 1rem 1.05rem;
    border: 1px solid #e3e7eb;
    border-radius: 1.25rem;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .045);
}
.firmalar-discovery-toolbar__intro {
    grid-area: intro;
    min-width: 0;
}
.firmalar-discovery-toolbar__intro-title {
    margin: 0;
    color: #111827;
    font-size: clamp(1.45rem, 2vw, 2.1rem);
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -.04em;
}
.firmalar-discovery-toolbar__intro-text {
    margin: .38rem 0 0;
    color: #667085;
    font-size: .95rem;
    font-weight: 500;
    line-height: 1.5;
}
.firmalar-discovery-toolbar__actions {
    grid-area: actions;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: .55rem;
    width: 100%;
}
.firmalar-discovery-action {
    position: relative;
    display: inline-flex;
    min-height: 2.65rem;
    align-items: center;
    justify-content: center;
    gap: .48rem;
    width: 100%;
    padding: .58rem .85rem;
    border: 1px solid #dfe3e8;
    border-radius: .9rem;
    background: #fff;
    color: #111827;
    font-size: .78rem;
    font-weight: 850;
    line-height: 1;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.firmalar-discovery-action:hover {
    border-color: #b8bec6;
    box-shadow: 0 5px 14px rgba(15,23,42,.07);
    transform: translateY(-1px);
}
.firmalar-discovery-action svg {
    width: .98rem;
    height: .98rem;
    flex: 0 0 .98rem;
}
.firmalar-discovery-action__chevron {
    width: .78rem !important;
    height: .78rem !important;
}
.firmalar-discovery-action--filter {
    border-color: #111827;
    background: #111827;
    color: #fff;
}
.firmalar-discovery-action--filter:hover {
    border-color: #000;
    background: #000;
}
.firmalar-discovery-action--filter b {
    position: absolute;
    top: -.42rem;
    right: -.38rem;
    display: inline-flex;
    width: 1.22rem;
    height: 1.22rem;
    align-items: center;
    justify-content: center;
    border: 2px solid #fff;
    border-radius: 999px;
    background: #24a33d;
    color: #fff;
    font-size: .6rem;
    font-weight: 900;
}
.firmalar-discovery-toolbar__chips {
    grid-area: chips;
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    gap: .48rem;
    align-items: center;
}
.firmalar-discovery-toolbar__chips button,
.firmalar-discovery-toolbar__clear-all {
    display: inline-flex;
    min-height: 1.95rem;
    align-items: center;
    gap: .42rem;
    padding: .38rem .66rem;
    border: 1px solid #dceee0;
    border-radius: 999px;
    background: #f1f8f2;
    color: #276d33;
    font-size: .7rem;
    font-weight: 760;
    line-height: 1;
}
.firmalar-discovery-toolbar__chips button i {
    color: #111827;
    font-size: .9rem;
    font-style: normal;
}
.firmalar-discovery-toolbar__clear-all {
    border-color: transparent;
    background: transparent;
    color: #6b7280;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Filtre artık masaüstünde de eski yan panel değil, modern modal */
#firmalarFilterAside {
    position: fixed !important;
    inset: 0 !important;
    z-index: 190 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 1.25rem !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}
#firmalarFilterAside.is-open {
    display: flex !important;
}
#firmalarFilterBackdropBtn {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    background: rgba(17, 24, 39, .58) !important;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
}
#firmalarFilterPanel {
    position: relative !important;
    z-index: 1 !important;
    width: min(58rem, 100%) !important;
    max-width: 58rem !important;
    max-height: calc(100dvh - 2.5rem) !important;
    overflow: hidden !important;
    border: 1px solid rgba(226, 232, 240, .95) !important;
    border-radius: 1.5rem !important;
    background: #fff !important;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .28) !important;
    opacity: 1 !important;
    transform: scale(.975) translateY(8px) !important;
    transition: transform .2s ease !important;
}
#firmalarFilterAside.is-open #firmalarFilterPanel {
    transform: scale(1) translateY(0) !important;
}
.firmalar-filter-mobile-head {
    position: sticky;
    top: 0;
    z-index: 40;
    display: block !important;
    padding: .7rem 1.15rem .8rem !important;
    border-bottom: 1px solid #edf0f2;
    background: rgba(255,255,255,.97);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}
.firmalar-filter-drag {
    display: none;
}
.firmalar-filter-mobile-head__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.firmalar-filter-close {
    display: inline-flex;
    width: 2.45rem;
    height: 2.45rem;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: #f3f4f6;
    color: #111827;
}
.firmalar-filter-close svg { width: 1.3rem; height: 1.3rem; }
.firmalar-filter-panel-body {
    max-height: calc(100dvh - 7.1rem);
    overflow-y: auto;
    overscroll-behavior: contain;
}
.firmalar-filter-panel-card {
    padding: 1rem 1.15rem 1.15rem;
    background: #fff;
}
.firmalar-filter-form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}
.firmalar-filter-form > * {
    min-width: 0;
    margin: 0 !important;
}
.firmalar-filter-field--search,
.firmalar-filter-field--services,
.firmalar-filter-score-section,
.firmalar-filter-extras,
.firmalar-filter-actions {
    grid-column: 1 / -1;
}
#ilceContainer {
    min-width: 0;
}
.firmalar-filter-form label.block,
.firmalar-filter-section-title,
.firmalar-filter-score-grid legend {
    margin-bottom: .55rem !important;
    color: #111827 !important;
    font-size: .82rem !important;
    font-weight: 850 !important;
}
.firmalar-filter-form input[type="text"],
.firmalar-filter-form input[type="search"],
.firmalar-filter-form select,
#sektorSearch {
    min-height: 3rem !important;
    border: 1px solid #dfe3e8 !important;
    border-radius: .85rem !important;
    background: #fff !important;
    font-size: .86rem !important;
    box-shadow: none !important;
}
#hizmetFiltreList {
    max-height: 12rem !important;
    border-color: #e3e7eb !important;
    background: #fafbfc !important;
}
.firmalar-filter-score-section,
.firmalar-filter-extras {
    padding-top: .9rem !important;
    border-top: 1px solid #eef0f3 !important;
}
.firmalar-filter-score-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.firmalar-filter-extras {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.firmalar-filter-extras .firmalar-filter-section-title {
    grid-column: 1 / -1;
}
.firmalar-filter-actions {
    position: sticky !important;
    left: auto !important;
    right: auto !important;
    bottom: 0 !important;
    z-index: 35;
    display: grid !important;
    grid-template-columns: .8fr 1.3fr !important;
    gap: .7rem !important;
    padding: .85rem 0 0 !important;
    border-top: 1px solid #eef0f3 !important;
    background: #fff !important;
}
.firmalar-filter-clear,
.firmalar-filter-submit {
    order: initial !important;
    min-height: 3.1rem !important;
}

/* Sıralama tüm ekranlarda modal olarak açılır */
#firmalarSortSheet {
    position: fixed !important;
    inset: 0 !important;
    z-index: 195 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
}
#firmalarSortSheet.is-open { display: flex !important; }
#firmalarSortBackdropBtn {
    position: absolute !important;
    inset: 0 !important;
    border: 0 !important;
    background: rgba(17,24,39,.58) !important;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
}
#firmalarSortPanel {
    position: relative !important;
    z-index: 1 !important;
    width: min(28rem, 100%) !important;
    max-width: 28rem !important;
    max-height: calc(100dvh - 2.5rem) !important;
    overflow-y: auto !important;
    border-radius: 1.25rem !important;
    background: #fff !important;
    box-shadow: 0 26px 70px rgba(15,23,42,.26) !important;
    opacity: 1 !important;
    transform: scale(.98) translateY(6px) !important;
}
#firmalarSortSheet.is-open #firmalarSortPanel {
    transform: scale(1) translateY(0) !important;
}

/* Tam genişlikte masaüstü kart listesi */
@media (min-width: 1280px) {
    #firmalar-container {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .firma-modern-list-card {
        grid-template-columns: 10.5rem minmax(0, 1fr) !important;
        min-height: 11.5rem !important;
    }
    .firma-modern-list-card__media,
    .firma-modern-list-card__media-main,
    .firma-modern-list-card__placeholder {
        min-height: 11.5rem !important;
    }
    .firma-modern-list-card__details {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

@media (max-width: 1023px) {
    .firmalar-list-section {
        padding: .35rem 0 1.5rem;
    }
    .firmalar-list-section > .container-custom {
        padding-left: .75rem !important;
        padding-right: .75rem !important;
    }
    .firmalar-discovery-toolbar {
        grid-template-columns: minmax(0, 1fr) 9.25rem;
        grid-template-areas:
            "intro actions"
            "chips chips";
        align-items: start;
        gap: .55rem .6rem;
        margin-bottom: .7rem;
        padding: .72rem;
        border-radius: 1rem;
    }
    .firmalar-discovery-toolbar__intro-title {
        font-size: 1.18rem;
        line-height: 1.12;
        letter-spacing: -.03em;
    }
    .firmalar-discovery-toolbar__intro-text {
        margin-top: .22rem;
        font-size: .78rem;
        line-height: 1.38;
    }
    .firmalar-discovery-toolbar__actions {
        gap: .45rem;
        margin: 0;
    }
    .firmalar-discovery-action {
        min-height: 2.42rem;
        padding: .5rem .6rem;
        font-size: .72rem;
        border-radius: .88rem;
    }
    .firmalar-discovery-toolbar__chips {
        flex-wrap: nowrap;
        gap: .42rem;
        overflow-x: auto;
        margin-top: .15rem;
        padding-bottom: .08rem;
        scrollbar-width: none;
    }
    .firmalar-discovery-toolbar__chips::-webkit-scrollbar { display: none; }
    .firmalar-discovery-toolbar__chips button,
    .firmalar-discovery-toolbar__clear-all {
        flex: 0 0 auto;
        min-height: 1.85rem;
        font-size: .66rem;
    }

    #firmalarFilterAside {
        align-items: flex-end !important;
        justify-content: stretch !important;
        padding: 0 !important;
    }
    #firmalarFilterPanel {
        width: 100% !important;
        max-width: none !important;
        max-height: min(92dvh, 820px) !important;
        border-width: 0 !important;
        border-radius: 1.5rem 1.5rem 0 0 !important;
        transform: translateY(105%) !important;
    }
    #firmalarFilterAside.is-open #firmalarFilterPanel {
        transform: translateY(0) !important;
    }
    .firmalar-filter-drag {
        display: block;
        width: 2.8rem;
        height: .27rem;
        margin: 0 auto .5rem;
        border-radius: 999px;
        background: #c9ced4;
    }
    .firmalar-filter-panel-body {
        max-height: calc(92dvh - 4.7rem);
    }
    .firmalar-filter-panel-card {
        padding: .4rem 1rem calc(5.7rem + env(safe-area-inset-bottom));
    }
    .firmalar-filter-form {
        display: block;
    }
    .firmalar-filter-form > * {
        padding: .78rem 0;
        border-bottom: 1px solid #eff1f3;
    }
    .firmalar-filter-form > *:last-child { border-bottom: 0; }
    .firmalar-filter-score-grid,
    .firmalar-filter-extras {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: .6rem;
    }
    .firmalar-filter-actions {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        padding: .75rem 1rem calc(.75rem + env(safe-area-inset-bottom)) !important;
        background: rgba(255,255,255,.98) !important;
        -webkit-backdrop-filter: blur(14px);
        backdrop-filter: blur(14px);
    }

    #firmalarSortSheet {
        align-items: flex-end !important;
        justify-content: stretch !important;
        padding: 0 !important;
    }
    #firmalarSortPanel {
        width: 100% !important;
        max-width: none !important;
        border-radius: 1.4rem 1.4rem 0 0 !important;
        transform: translateY(105%) !important;
    }
    #firmalarSortSheet.is-open #firmalarSortPanel {
        transform: translateY(0) !important;
    }
}

#firmalarFilterPanel > .firmalar-filter-panel-body { padding: 0 !important; }
@media (max-width: 1023px) {
    .firmalar-hero__inner h1 {
        margin: 0 !important;
        padding: 0 !important;
        font-size: 1.32rem !important;
        line-height: 1.15 !important;
        letter-spacing: -.032em !important;
    }
    .firmalar-hero__inner p {
        margin: .3rem 0 0 !important;
        padding: 0 !important;
        font-size: .75rem !important;
        line-height: 1.42 !important;
    }
}

@media (max-width: 420px) {
    .firmalar-discovery-toolbar {
        grid-template-columns: minmax(0, 1fr) 8.35rem;
    }
    .firmalar-discovery-toolbar__intro-title { font-size: 1.08rem; }
    .firmalar-discovery-toolbar__intro-text { font-size: .73rem; }
    .firmalar-discovery-action { font-size: .69rem; }
}

/* Masaüstü: filtreler eski düzende sağ sabit sütunda; mobil bottom-sheet aynen korunur. */
.firmalar-page-shell {
    min-width: 0;
}
.firmalar-page-main,
.firmalar-page-sidebar {
    min-width: 0;
}

@media (min-width: 1024px) {
    .firmalar-page-shell {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 20rem;
        align-items: start;
        gap: 1.2rem;
    }
    .firmalar-page-shell--without-sidebar {
        grid-template-columns: minmax(0, 1fr);
    }
    .firmalar-page-sidebar {
        position: sticky;
        top: 6.25rem;
        align-self: start;
    }

    .firmalar-discovery-action--filter {
        display: none !important;
    }

    #firmalarFilterAside {
        position: relative !important;
        inset: auto !important;
        z-index: auto !important;
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    #firmalarFilterBackdropBtn,
    #firmalarFilterCloseBtn,
    .firmalar-filter-drag {
        display: none !important;
    }

    #firmalarFilterPanel {
        position: relative !important;
        z-index: auto !important;
        width: 100% !important;
        max-width: none !important;
        max-height: calc(100dvh - 7.25rem) !important;
        overflow: hidden !important;
        border: 1px solid #e3e7eb !important;
        border-radius: 1.2rem !important;
        background: #fff !important;
        box-shadow: 0 8px 24px rgba(15, 23, 42, .05) !important;
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .firmalar-filter-mobile-head {
        position: relative !important;
        top: auto !important;
        display: block !important;
        padding: .95rem 1rem .8rem !important;
        border-bottom: 1px solid #edf0f2 !important;
        background: #fff !important;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
    }
    .firmalar-filter-mobile-head__row {
        justify-content: flex-start !important;
    }
    #firmalarFilterTitle {
        font-size: 1.05rem !important;
        font-weight: 900 !important;
    }

    .firmalar-filter-panel-body {
        max-height: calc(100dvh - 10.7rem) !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
    }
    .firmalar-filter-panel-card {
        padding: .85rem .9rem 1rem !important;
    }
    .firmalar-filter-form {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: .85rem !important;
    }
    .firmalar-filter-form > *,
    .firmalar-filter-field--search,
    .firmalar-filter-field--services,
    .firmalar-filter-score-section,
    .firmalar-filter-extras,
    .firmalar-filter-actions {
        grid-column: 1 / -1 !important;
    }
    .firmalar-filter-score-grid,
    .firmalar-filter-extras {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: .65rem !important;
    }
    .firmalar-filter-form input[type="text"],
    .firmalar-filter-form input[type="search"],
    .firmalar-filter-form select,
    #sektorSearch {
        min-height: 2.75rem !important;
        font-size: .8rem !important;
    }
    #hizmetFiltreList {
        max-height: 10.5rem !important;
    }
    .firmalar-filter-actions {
        position: sticky !important;
        bottom: 0 !important;
        grid-template-columns: .8fr 1.2fr !important;
        margin: 0 -.15rem -.15rem !important;
        padding: .75rem .15rem .15rem !important;
        background: #fff !important;
    }
    .firmalar-filter-clear,
    .firmalar-filter-submit {
        min-height: 2.75rem !important;
        font-size: .76rem !important;
    }

    /* Sidebar varken kartlar yalnız yeterli alan varsa iki sütuna çıkar. */
    #firmalar-container {
        grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr)) !important;
    }
}

@media (max-width: 1023px) {
    .firmalar-page-shell {
        display: block;
    }
    .firmalar-page-sidebar {
        min-width: 0;
    }
}

/* =========================================================
   SIRALAMA — MASAÜSTÜ AÇILIR MENÜ / MOBİL ALT PANEL
   ========================================================= */
.firmalar-discovery-toolbar {
    position: relative;
    overflow: visible;
}
.firmalar-sort-control {
    position: relative;
    z-index: 230;
    width: 100%;
    min-width: 0;
}
.firmalar-sort-control.is-open .firmalar-discovery-action__chevron {
    transform: rotate(180deg);
}
.firmalar-discovery-action__chevron {
    transition: transform .18s ease;
}
.firmalar-sort-head {
    display: flex;
    min-height: 3.35rem;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .75rem 1rem;
    border-bottom: 1px solid #edf0f2;
    background: #fff;
}
.firmalar-sort-head > span {
    color: #111827;
    font-size: 1rem;
    font-weight: 900;
}
#firmalarSortCloseBtn {
    display: inline-flex;
    width: 2.25rem;
    height: 2.25rem;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #64748b;
}
#firmalarSortCloseBtn:hover { background: #f3f4f6; color: #111827; }
#firmalarSortCloseBtn svg { width: 1.25rem; height: 1.25rem; }
.firmalar-sort-options {
    padding: .45rem;
    background: #fff;
}
.firmalar-sort-group + .firmalar-sort-group {
    margin-top: .25rem;
    padding-top: .4rem;
    border-top: 1px solid #f0f2f4;
}
.firmalar-sort-group__title {
    display: block;
    padding: .42rem .65rem .28rem;
    color: #8a94a3;
    font-size: .64rem;
    font-weight: 900;
    letter-spacing: .055em;
    line-height: 1.1;
    text-transform: uppercase;
}
.firma-sort-sheet-opt {
    display: flex;
    width: 100%;
    min-height: 2.6rem;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .62rem .72rem;
    border: 0;
    border-radius: .72rem;
    background: #fff;
    color: #1f2937;
    font-size: .77rem;
    font-weight: 750;
    line-height: 1.25;
    text-align: left;
}
.firma-sort-sheet-opt:hover { background: #f6f7f8; }
.firma-sort-sheet-opt.is-active {
    background: #eef8f0;
    color: #218638;
}
.firma-sort-sheet-opt svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 1rem;
}

@media (min-width: 1024px) {
    #firmalarSortSheet {
        position: absolute !important;
        inset: auto 0 auto auto !important;
        top: calc(100% + .5rem) !important;
        z-index: 230 !important;
        display: block !important;
        width: 21.5rem !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        background: transparent !important;
    }
    #firmalarSortSheet.is-open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
    #firmalarSortBackdropBtn {
        display: none !important;
    }
    #firmalarSortPanel {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        max-width: none !important;
        max-height: min(36rem, calc(100dvh - 9rem)) !important;
        overflow-y: auto !important;
        border: 1px solid #dfe3e8 !important;
        border-radius: 1rem !important;
        background: #fff !important;
        box-shadow: 0 18px 48px rgba(15, 23, 42, .17) !important;
        opacity: 1 !important;
        transform: translateY(-6px) !important;
        transition: transform .16s ease, opacity .16s ease !important;
    }
    #firmalarSortSheet.is-open #firmalarSortPanel {
        transform: translateY(0) !important;
    }
    .firmalar-sort-head {
        display: none !important;
    }
    .firmalar-sort-options {
        padding: .5rem;
    }
}

@media (max-width: 1023px) {
    #firmalarSortSheet {
        position: fixed !important;
        inset: 0 !important;
        z-index: 195 !important;
        display: none !important;
        align-items: flex-end !important;
        justify-content: stretch !important;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
    #firmalarSortSheet.is-open { display: flex !important; }
    #firmalarSortBackdropBtn {
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        border: 0 !important;
        background: rgba(15, 23, 42, .55) !important;
    }
    #firmalarSortPanel {
        position: relative !important;
        z-index: 1 !important;
        width: 100% !important;
        max-width: none !important;
        max-height: min(82dvh, 42rem) !important;
        overflow-y: auto !important;
        border-radius: 1.35rem 1.35rem 0 0 !important;
        background: #fff !important;
        box-shadow: 0 -16px 45px rgba(15, 23, 42, .2) !important;
        opacity: 1 !important;
        transform: translateY(105%) !important;
        transition: transform .22s ease !important;
    }
    #firmalarSortSheet.is-open #firmalarSortPanel {
        transform: translateY(0) !important;
    }
    .firmalar-sort-options {
        padding: .45rem .55rem calc(1rem + env(safe-area-inset-bottom));
    }
    .firma-sort-sheet-opt {
        min-height: 3rem;
        padding: .75rem .8rem;
        font-size: .82rem;
    }
}

/* =========================================================
   SIRALAMA / HEADER KATMAN DÜZELTMESİ
   Header her zaman sıralama düğmesi ve menüsünün üstünde kalır.
   ========================================================= */
.firmalar-sort-control {
    z-index: 30 !important;
}

@media (min-width: 1024px) {
    #firmalarSortSheet {
        z-index: 30 !important;
    }
}

@media (max-width: 1023px) {
    #firmalarSortSheet {
        top: 4rem !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        z-index: 40 !important;
        height: calc(100dvh - 4rem) !important;
    }
}

/* =========================================================
   MOBİL FİLTRE ALT PANELİ — YARIM AÇILIŞ / SÜRÜKLEME
   Masaüstü sağ filtre sütununa dokunmaz.
   ========================================================= */
@media (max-width: 1023px) {
    #firmalarFilterAside {
        background: transparent !important;
    }
    #firmalarFilterBackdropBtn {
        background: transparent !important;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
    }
    #firmalarFilterPanel {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        height: min(58dvh, 34rem) !important;
        min-height: min(22rem, calc(100dvh - 4.5rem)) !important;
        max-height: calc(100dvh - 4rem) !important;
        overflow: hidden !important;
        will-change: height, transform;
        transition: height .24s cubic-bezier(.22,.61,.36,1), transform .24s cubic-bezier(.22,.61,.36,1) !important;
    }
    #firmalarFilterAside.is-dragging #firmalarFilterPanel {
        transition: none !important;
    }
    .firmalar-filter-mobile-head {
        flex: 0 0 auto !important;
        user-select: none;
        -webkit-user-select: none;
    }
    .firmalar-filter-drag {
        position: relative;
        display: block !important;
        width: 4.75rem !important;
        height: 1.2rem !important;
        margin: -.15rem auto .15rem !important;
        border-radius: 999px;
        background: transparent !important;
        cursor: grab;
        touch-action: none;
        outline: none;
    }
    .firmalar-filter-drag::before {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        width: 2.8rem;
        height: .27rem;
        border-radius: 999px;
        background: #c9ced4;
        transform: translate(-50%, -50%);
        transition: width .15s ease, background-color .15s ease;
    }
    .firmalar-filter-drag:focus-visible::before,
    #firmalarFilterAside.is-dragging .firmalar-filter-drag::before {
        width: 3.25rem;
        background: #9ca3af;
    }
    #firmalarFilterAside.is-dragging .firmalar-filter-drag {
        cursor: grabbing;
    }
    .firmalar-filter-panel-body {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }
}

/* =========================================================
   FİLTRE: MOBİL UYUMLU ŞEHİR SEÇİCİ + ÇİFT UÇLU PUAN ARALIĞI
   ========================================================= */
.firmalar-custom-select-button {
    display: flex;
    width: 100%;
    min-height: 3rem;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .75rem 1rem;
    border: 0;
    border-radius: .75rem;
    background: #f9fafb;
    color: #111827;
    font-size: .875rem;
    font-weight: 500;
    line-height: 1.25;
    text-align: left;
    cursor: pointer;
    transition: box-shadow .18s ease, background-color .18s ease;
}
.firmalar-custom-select-button:focus-visible,
.firmalar-custom-select-button.is-open {
    outline: none;
    box-shadow: 0 0 0 2px rgba(34, 197, 94, .18);
}
.firmalar-custom-select-button svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 1rem;
    transition: transform .18s ease;
}
.firmalar-custom-select-button.is-open svg { transform: rotate(180deg); }
.firmalar-custom-select-button.is-disabled,
.firmalar-custom-select-button:disabled {
    opacity: .5;
    cursor: not-allowed;
}
.firmalar-custom-select-dropdown {
    position: absolute;
    z-index: 90;
    top: calc(100% + .35rem);
    left: 0;
    right: 0;
    max-height: min(18rem, 45dvh);
    overflow-y: auto;
    padding: .35rem;
    border: 1px solid #e5e7eb;
    border-radius: .85rem;
    background: #fff;
    box-shadow: 0 16px 38px rgba(15, 23, 42, .16);
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}
.firmalar-custom-select-option {
    display: block;
    width: 100%;
    min-height: 2.45rem;
    padding: .62rem .75rem;
    border: 0;
    border-radius: .65rem;
    background: transparent;
    color: #374151;
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: left;
    cursor: pointer;
}
.firmalar-custom-select-option:hover,
.firmalar-custom-select-option:focus-visible {
    outline: none;
    background: #f3f4f6;
}
.firmalar-custom-select-option.is-selected {
    background: #ecfdf3;
    color: #16863b;
    font-weight: 800;
}

.firmalar-filter-score-grid--ranges {
    gap: .8rem !important;
}
.firmalar-score-range-fieldset {
    min-width: 0;
    padding: .8rem .8rem .7rem;
    border: 1px solid #edf0f2;
    border-radius: .9rem;
    background: #fbfcfd;
}
.firmalar-score-range-fieldset legend {
    padding: 0 .15rem;
    color: #111827;
    font-size: .78rem;
    font-weight: 850;
}
.firmalar-score-range-values {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: .45rem;
    margin: .2rem 0 .7rem;
}
.firmalar-score-range-values span {
    display: flex;
    min-height: 2rem;
    align-items: center;
    justify-content: center;
    padding: .35rem .5rem;
    border: 1px solid #e2e8f0;
    border-radius: .65rem;
    background: #fff;
    color: #111827;
    font-size: .77rem;
    font-variant-numeric: tabular-nums;
}
.firmalar-score-range-values i {
    color: #94a3b8;
    font-size: .82rem;
    font-style: normal;
    font-weight: 800;
}
.firmalar-dual-range {
    position: relative;
    height: 1.55rem;
    margin: 0 .15rem;
}
.firmalar-dual-range__base,
.firmalar-dual-range__fill {
    position: absolute;
    top: 50%;
    height: .35rem;
    border-radius: 999px;
    transform: translateY(-50%);
}
.firmalar-dual-range__base {
    left: 0;
    right: 0;
    background: #e5e7eb;
}
.firmalar-dual-range__fill {
    left: var(--range-start, 0%);
    right: calc(100% - var(--range-end, 100%));
    background: linear-gradient(90deg, #22c55e 0%, #16a34a 100%);
}
.firmalar-dual-range input[type="range"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 1.55rem;
    margin: 0;
    padding: 0;
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    pointer-events: none;
    outline: none;
}
.firmalar-dual-range input[type="range"]::-webkit-slider-runnable-track {
    height: .35rem;
    background: transparent;
}
.firmalar-dual-range input[type="range"]::-webkit-slider-thumb {
    width: 1.2rem;
    height: 1.2rem;
    margin-top: -.43rem;
    border: 3px solid #16a34a;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .18);
    appearance: none;
    -webkit-appearance: none;
    pointer-events: auto;
    cursor: grab;
}
.firmalar-dual-range input[type="range"]::-moz-range-track {
    height: .35rem;
    background: transparent;
}
.firmalar-dual-range input[type="range"]::-moz-range-thumb {
    width: 1rem;
    height: 1rem;
    border: 3px solid #16a34a;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .18);
    pointer-events: auto;
    cursor: grab;
}
.firmalar-dual-range input[type="range"]:focus-visible::-webkit-slider-thumb {
    box-shadow: 0 0 0 4px rgba(34, 197, 94, .18), 0 2px 8px rgba(15, 23, 42, .18);
}
.firmalar-score-range-scale {
    display: flex;
    justify-content: space-between;
    margin-top: .05rem;
    color: #94a3b8;
    font-size: .62rem;
    font-weight: 700;
}

@media (min-width: 640px) {
    .firmalar-custom-select-button {
        min-height: 3.25rem;
        padding: .85rem 1rem;
        border-radius: 1rem;
        font-size: .92rem;
    }
}

/* =========================================================
   KATEGORİ VE VERİLEN HİZMET MAKALELERİ
   Ortak stiller harici dosyada tutulur; böylece hizmet
   makalelerindeki gerçek H2/H3 etiketleri de görünür olur.
   ========================================================= */
.makale-icerik {
    color: #4b5563;
}
.makale-icerik h2 {
    display: block;
    margin: 2.25rem 0 1rem;
    color: #111827;
    font-size: clamp(1.55rem, 2.4vw, 1.95rem);
    font-weight: 800;
    line-height: 1.28;
    letter-spacing: -.02em;
}
.makale-icerik h2:first-child,
.makale-icerik > div > h2:first-child {
    margin-top: 0;
}
.makale-icerik h3 {
    display: block;
    margin: 1.7rem 0 .7rem;
    color: #1f2937;
    font-size: clamp(1.2rem, 1.8vw, 1.45rem);
    font-weight: 750;
    line-height: 1.35;
    letter-spacing: -.012em;
}
.makale-icerik h4 {
    display: block;
    margin: 1.35rem 0 .55rem;
    color: #374151;
    font-size: 1.12rem;
    font-weight: 700;
    line-height: 1.4;
}
.makale-icerik p {
    margin: 0 0 1.15rem;
    color: #4b5563;
    line-height: 1.8;
}
.makale-icerik strong {
    color: #111827;
    font-weight: 700;
}
.makale-icerik ul,
.makale-icerik ol {
    margin: 0 0 1.25rem;
    padding-left: 1.5rem;
    color: #4b5563;
}
.makale-icerik ul { list-style: disc; }
.makale-icerik ol { list-style: decimal; }
.makale-icerik li {
    margin-bottom: .5rem;
    line-height: 1.8;
}
.makale-icerik a {
    color: var(--color-primary);
    text-decoration: underline;
    text-underline-offset: .16em;
}
.makale-icerik a:hover {
    color: var(--color-primary-600);
}
.makale-icerik img {
    max-width: 100%;
    height: auto;
    margin: 1.5rem 0;
    border-radius: .75rem;
}
.makale-icerik .makale-dinamik-tablo {
    width: 100%;
    margin: 1.25rem 0;
    overflow-x: auto;
    border: 1px solid #e5e7eb;
    border-radius: .75rem;
}
.makale-icerik table {
    width: 100%;
    min-width: 680px;
    border-collapse: collapse;
    background: #fff;
}
.makale-icerik th,
.makale-icerik td {
    padding: .75rem;
    border-bottom: 1px solid #e5e7eb;
    text-align: left;
    vertical-align: top;
}
.makale-icerik th {
    background: #f9fafb;
    color: #111827;
    font-weight: 700;
}
.makale-icerik tr:last-child td {
    border-bottom: 0;
}

