/* ─────────────────────────────────────────────────────────────────────────────
   SC-SOKET — katalog görünüm seçici (Phase 8). Yalnızca body.sa-catalog-listing (Mağaza, kategoriler, ürün araması,
   OEM çoklu sonuç) üzerinde etkilidir; ana sayfa, tekil ürün ve ilgili ürünler etkilenmez.
   Görünüm <html data-sa-catalog-view="grid-5|grid-4|grid-3|list"> ile seçilir; ürün kartı işaretlemesi TEKTİR.
   "grid-3" = bugünkü varsayılan düzen (cards.css kuralları aynen geçerli; burada hiçbir şey ezilmez).
   Sütun sınırları viewport'a değil ızgara alanının GENİŞLİĞİNE göre belirlenir (en fazla N sütun, kart asla
   --sa-cv-min'den dar değil); kayıtlı tercih hiçbir zaman değiştirilmez.
   ───────────────────────────────────────────────────────────────────────────── */

/* ── Seçici (araç çubuğu) ── JS'siz (öznitelik yok) gizli kalır; katalog TRY/varsayılan düzende tam çalışır. */
.sa-catalog-toolbar .sa-view-switch {
    display: none;
}
/* Sonuç sayısı / sayfa başına / sıralama / görünüm tek satıra sığsın: sayaç gerekirse kendi metnini sarar,
   seçici ikinci satıra düşmez (araç çubuğu yüksekliği artmaz). */
@media (min-width: 768px) {
    html[data-sa-catalog-view] body.sa-catalog-listing .sa-catalog-toolbar {
        column-gap: 14px;
    }
    html[data-sa-catalog-view] body.sa-catalog-listing .sa-catalog-toolbar .woocommerce-result-count {
        flex: 1 1 120px;
        min-width: 0;
    }
}
html[data-sa-catalog-view] .sa-catalog-toolbar .sa-view-switch {
    display: inline-flex;
    flex: none;
    align-items: center;
    gap: 2px;
    padding: 2px;
    border: 1px solid #494e56;
    border-radius: 7px;
    background: #24282e;
}
.sa-catalog-toolbar .sa-view-btn {
    -webkit-appearance: none;
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: #aeb4bd;
    line-height: 1;
    cursor: pointer;
    box-shadow: none;
    transition: background .15s ease, color .15s ease, box-shadow .15s ease;
    -webkit-tap-highlight-color: transparent;
}
.sa-catalog-toolbar .sa-view-btn svg {
    display: block;
    fill: currentColor;
}
.sa-catalog-toolbar .sa-view-btn:hover {
    background: #30353c;
    color: #fff;
}
.sa-catalog-toolbar .sa-view-btn[aria-pressed="true"] {
    background: #e91e32;
    color: #fff;
    box-shadow: 0 0 0 1px rgba(233, 30, 50, .4), 0 3px 10px rgba(233, 30, 50, .25);
}
.sa-catalog-toolbar .sa-view-btn:focus {
    outline: none;
}
.sa-catalog-toolbar .sa-view-btn:focus-visible {
    outline: 2px solid #ff4d5c;
    outline-offset: 2px;
}
@media (max-width: 767px) {
    html[data-sa-catalog-view] .sa-catalog-toolbar .sa-view-switch {
        align-self: flex-start;
    }
}

/* ── 5 ve 4 sütun: en fazla N sütun; alan daraldıkça kart --sa-cv-min altına inmeden sütun sayısı azalır ── */
html[data-sa-catalog-view="grid-5"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products {
    --sa-cv-cols: 5;
    --sa-cv-min: 156px;
    --sa-cv-gap: 14px;
}
html[data-sa-catalog-view="grid-4"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products {
    --sa-cv-cols: 4;
    --sa-cv-min: 182px;
    --sa-cv-gap: 18px;
}
html:is([data-sa-catalog-view="grid-5"], [data-sa-catalog-view="grid-4"]) body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products {
    grid-template-columns: repeat(auto-fill, minmax(max(var(--sa-cv-min), calc((100% - (var(--sa-cv-cols) - 1) * var(--sa-cv-gap)) / var(--sa-cv-cols))), 1fr)) !important;
    gap: var(--sa-cv-gap) !important;
}
/* Tablet (768–1023px): en fazla 3 sütun. */
@media (min-width: 768px) and (max-width: 1023px) {
    html:is([data-sa-catalog-view="grid-5"], [data-sa-catalog-view="grid-4"]) body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products {
        --sa-cv-cols: 3;
    }
}
@media (max-width: 767px) {
    html:is([data-sa-catalog-view="grid-5"], [data-sa-catalog-view="grid-4"]) body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }
}
@media (max-width: 540px) {
    html:is([data-sa-catalog-view="grid-5"], [data-sa-catalog-view="grid-4"]) body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* Yoğun kart ölçüleri (yalnızca çok sütunlu genişliklerde; tek sütunda kart bugünkü ölçülerindedir) */
@media (min-width: 541px) {
    html:is([data-sa-catalog-view="grid-5"], [data-sa-catalog-view="grid-4"]) body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product {
        min-height: 0;
        border-radius: 10px;
    }
    html:is([data-sa-catalog-view="grid-5"], [data-sa-catalog-view="grid-4"]) body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product > .sa-featured-favorite {
        top: 14px;
        right: 14px;
        width: 30px;
        height: 30px;
    }
    html:is([data-sa-catalog-view="grid-5"], [data-sa-catalog-view="grid-4"]) body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product > .sa-featured-favorite svg {
        width: 15px;
        height: 15px;
    }
    html:is([data-sa-catalog-view="grid-5"], [data-sa-catalog-view="grid-4"]) body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .astra-shop-summary-wrap {
        gap: 8px;
        padding: 12px 12px 14px;
    }
    html:is([data-sa-catalog-view="grid-5"], [data-sa-catalog-view="grid-4"]) body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .ast-woo-product-category {
        font-size: 10px;
        letter-spacing: .06em;
    }
    html:is([data-sa-catalog-view="grid-5"], [data-sa-catalog-view="grid-4"]) body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .sa-card-sku {
        padding: 4px 7px;
    }
    html:is([data-sa-catalog-view="grid-5"], [data-sa-catalog-view="grid-4"]) body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .sa-card-sku-value {
        font-size: 11px;
    }
    html:is([data-sa-catalog-view="grid-5"], [data-sa-catalog-view="grid-4"]) body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .button {
        gap: 7px;
        min-height: 44px;
        padding: 10px 10px !important;
        font-size: 11.5px;
    }
    html:is([data-sa-catalog-view="grid-5"], [data-sa-catalog-view="grid-4"]) body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .button svg {
        flex-basis: 16px;
        width: 16px;
        height: 16px;
    }
    /* 4 sütun (~200px kart) */
    html[data-sa-catalog-view="grid-4"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .astra-shop-thumbnail-wrap {
        height: 172px;
        margin: 9px 9px 0;
        padding: 6px;
    }
    html[data-sa-catalog-view="grid-4"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .woocommerce-loop-product__title {
        min-height: 40px;
        max-height: 40px;
        font-size: 14px;
        line-height: 20px;
    }
    html[data-sa-catalog-view="grid-4"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .price {
        font-size: 19px;
    }
    /* 5 sütun (~160px kart) */
    html[data-sa-catalog-view="grid-5"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .astra-shop-thumbnail-wrap {
        height: 136px;
        margin: 8px 8px 0;
        padding: 5px;
    }
    html[data-sa-catalog-view="grid-5"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .astra-shop-summary-wrap {
        gap: 7px;
        padding: 10px 10px 12px;
    }
    html[data-sa-catalog-view="grid-5"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .ast-woo-product-category {
        font-size: 9.5px;
    }
    html[data-sa-catalog-view="grid-5"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .woocommerce-loop-product__title {
        min-height: 36px;
        max-height: 36px;
        font-size: 12.5px;
        line-height: 18px;
    }
    html[data-sa-catalog-view="grid-5"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .sa-card-sku {
        gap: 1px 5px;
        padding: 3px 6px;
    }
    html[data-sa-catalog-view="grid-5"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .sa-card-sku-label {
        font-size: 9.5px;
    }
    html[data-sa-catalog-view="grid-5"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .sa-card-sku-value {
        font-size: 10.5px;
    }
    html[data-sa-catalog-view="grid-5"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .price {
        font-size: 16px;
    }
    html[data-sa-catalog-view="grid-5"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .button {
        gap: 6px;
        min-height: 40px;
        padding: 8px 8px !important;
        border-radius: 7px;
        font-size: 11px;
    }
    html[data-sa-catalog-view="grid-5"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .button svg {
        flex-basis: 15px;
        width: 15px;
        height: 15px;
    }
    html[data-sa-catalog-view="grid-5"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .sa-card-whatsapp {
        font-size: 10px;
    }
}

/* ── Liste: [görsel] [ad / kod / stok ........] [fiyat / işlem] — aynı kart işaretlemesi, CSS Grid ── */
html[data-sa-catalog-view="list"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
}
html[data-sa-catalog-view="list"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    align-items: center;
    min-height: 0;
    border-radius: 10px;
}
html[data-sa-catalog-view="list"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product:hover {
    transform: translateY(-1px);
}
html[data-sa-catalog-view="list"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .astra-shop-thumbnail-wrap {
    grid-column: 1;
    grid-row: 1;
    width: auto;
    height: auto;
    aspect-ratio: 1 / 1;
    margin: 10px;
    padding: 6px;
}
html[data-sa-catalog-view="list"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product > .sa-featured-favorite {
    top: 16px;
    right: auto;
    left: 16px;
    width: 30px;
    height: 30px;
}
html[data-sa-catalog-view="list"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product > .sa-featured-favorite svg {
    width: 15px;
    height: 15px;
}
html[data-sa-catalog-view="list"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .astra-shop-summary-wrap {
    grid-column: 2;
    grid-row: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(170px, 210px);
    align-items: start;
    align-content: center;
    column-gap: 22px;
    row-gap: 7px;
    padding: 14px 18px 14px 6px;
}
html[data-sa-catalog-view="list"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .astra-shop-summary-wrap > .ast-woo-product-category { grid-column: 1; grid-row: 1; }
html[data-sa-catalog-view="list"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .astra-shop-summary-wrap > .ast-loop-product__link { grid-column: 1; grid-row: 2; }
html[data-sa-catalog-view="list"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .astra-shop-summary-wrap > .sa-card-sku { grid-column: 1; grid-row: 3; justify-self: start; }
html[data-sa-catalog-view="list"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .astra-shop-summary-wrap > .sa-card-stock { grid-column: 1; grid-row: 4; justify-self: start; }
html[data-sa-catalog-view="list"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .astra-shop-summary-wrap > .price {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: end;
    margin: 0 !important;
    text-align: right;
}
html[data-sa-catalog-view="list"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .astra-shop-summary-wrap > .button { grid-column: 2; grid-row: 3; min-height: 44px; }
html[data-sa-catalog-view="list"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .astra-shop-summary-wrap > .sa-card-whatsapp { grid-column: 2; grid-row: 4; width: 100%; margin: 0; }
html[data-sa-catalog-view="list"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .astra-shop-summary-wrap > .button.sa-price-contact {
    grid-row: 1 / span 4;
    align-self: center;
    margin: 0 !important;
}
html[data-sa-catalog-view="list"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .woocommerce-loop-product__title {
    min-height: 0;
}

/* Liste — dar ekran: [küçük görsel] [ad / kod / fiyat], işlem altta */
@media (max-width: 640px) {
    html[data-sa-catalog-view="list"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product {
        grid-template-columns: 104px minmax(0, 1fr);
        align-items: start;
    }
    html[data-sa-catalog-view="list"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .astra-shop-thumbnail-wrap {
        margin: 8px;
        padding: 4px;
    }
    html[data-sa-catalog-view="list"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product > .sa-featured-favorite {
        top: 12px;
        left: 12px;
        width: 26px;
        height: 26px;
    }
    html[data-sa-catalog-view="list"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .astra-shop-summary-wrap {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 6px;
        padding: 10px 10px 12px 2px;
    }
    html[data-sa-catalog-view="list"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .astra-shop-summary-wrap > * {
        grid-column: 1 !important;
        grid-row: auto !important;
    }
    html[data-sa-catalog-view="list"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .astra-shop-summary-wrap > .price {
        align-self: start;
        font-size: 18px;
        text-align: left;
    }
    html[data-sa-catalog-view="list"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .woocommerce-loop-product__title {
        max-height: 40px;
        font-size: 13.5px;
        line-height: 20px;
    }
    html[data-sa-catalog-view="list"] body.sa-catalog-listing.sa-catalog-listing.sa-catalog-listing ul.products.products li.product .astra-shop-summary-wrap > .button {
        min-height: 42px;
        padding: 9px 10px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sa-catalog-toolbar .sa-view-btn {
        transition: none;
    }
}
