/* --------------------------------------------------------------------------
   Anasayfa POPULER URUNLER (Plan 60cadcc1, handoff_populer_urunler, 23.10.2026)
   Yalniz giris yapmis ziyaretcide: partials/home-populer-urunler.blade.php.
   Betik: js/pages/anasayfa-populer.js (surukle-birak, fare tekeri, oklar).
   K1 >=1400 6 kart, 992-1399 4 kart (gap 24) · K3 768-991 3,3 kart (gap 12),
   <=767 2,3 kart (gap 8) · K2 kaydirma cubugu gizli, tasan kenarda ok + solma
   (mobilde ok yok) · K4 fiyat yoksa "Incele ›" · K8 hover / odak / basili ·
   K9 acik temada beyaz karartma · K10 ad en cok 2 satir.
   -------------------------------------------------------------------------- */
.pUrunKap {
    --puZemin: var(--background, #181820);
    --puKart: #20212B;
    --puKartCizgi: transparent;
    --puOkZemin: #20212B;
    --puOkCizgi: #4E4F5C;
    --puOkMetin: #EDEEF2;
    --puOkGolge: rgba(0, 0, 0, .4);
    --puKarartma0: rgba(10, 11, 25, 0);
    --puKarartma1: rgba(10, 11, 25, .88);
    --puAd: #FFFFFF;
    --puFiyat: #9FE8B9;
    --puIncele: rgba(255, 255, 255, .62);
    --puVurgu: #80F1B1;
    --puVurguCerceve: rgba(128, 241, 177, .55);
}
body.light .pUrunKap {
    --puKart: #FFFFFF;
    --puKartCizgi: #E3E1D9;
    --puOkZemin: #FFFFFF;
    --puOkCizgi: #C7C5BC;
    --puOkMetin: #1F1E1D;
    --puOkGolge: rgba(0, 0, 0, .14);
    --puKarartma0: rgba(255, 255, 255, 0);
    --puKarartma1: rgba(255, 255, 255, .94);
    --puAd: #1F1E1D;
    --puFiyat: #137E4C;
    --puIncele: #5F5E58;
    --puVurgu: #137E4C;
    --puVurguCerceve: rgba(19, 126, 76, .45);
}

/* Baslik: ortak x-ui.bolum-baslik; bu bolumde baglanti 30px (mobil 36), mobilde baslik 17px. */
.pUrunKap .bolumBaslikTumu {
    min-height: 30px;
}

.pUrunCerceve {
    position: relative;
}
.pUrunSerit {
    --puKartG: calc((100% - 120px) / 6);
    display: flex;
    gap: 24px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
    cursor: grab;
    padding: 3px 0;
}
.pUrunSerit::-webkit-scrollbar {
    display: none;
}
/* Surukleme sirasinda (betik ekler): snap kapali, imlec tutuyor, metin secilmez. */
.pUrunSerit.puSnapYok {
    scroll-snap-type: none;
}
.pUrunSerit.puTutuyor {
    cursor: grabbing;
    user-select: none;
}

.pUrunKart {
    flex: none;
    width: var(--puKartG);
    position: relative;
    display: block;
    aspect-ratio: 4 / 5;
    border-radius: 14px;
    overflow: hidden;
    background: var(--puKart);
    border: 1px solid var(--puKartCizgi);
    scroll-snap-align: start;
    text-decoration: none;
    transition: border-color .2s, transform .12s;
    -webkit-user-drag: none;
}
.pUrunKart img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .25s ease;
    -webkit-user-drag: none;
}
.pUrunKart:hover {
    border-color: var(--puVurguCerceve);
}
.pUrunKart:hover img {
    transform: scale(1.04);
}
.pUrunKart:active {
    transform: scale(.98);
}
.pUrunKart:focus-visible,
.pUrunOk:focus-visible {
    outline: 2px solid var(--puVurgu);
    outline-offset: 2px;
}
/* Kart halkasi icte: seridin tasma kirpmasi (ilk / son kart kenari, 3px dikey bosluk) disariyi keser. */
.pUrunKart:focus-visible {
    outline-offset: -2px;
}
.pUrunGolge {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 55%;
    background: linear-gradient(180deg, var(--puKarartma0), var(--puKarartma1));
}
.pUrunAlt {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0 10px 11px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    text-align: center;
}
.pUrunAd {
    color: var(--puAd);
    font-weight: 700;
    font-size: 12.5px;
    line-height: 1.25;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    overflow-wrap: anywhere;
}
.pUrunFiyat {
    height: 15px;
    font-size: 11.5px;
    line-height: 15px;
    font-weight: 800;
    color: var(--puFiyat);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.pUrunFiyat.puIncele {
    color: var(--puIncele);
}

/* Oklar + solma: yalniz o yonde tasan icerik varken gorunur (betik .puAcik ekler). */
.pUrunOk {
    position: absolute;
    top: 50%;
    z-index: 3;
    width: 40px;
    height: 40px;
    padding: 0;
    border-radius: 50%;
    border: 1px solid var(--puOkCizgi);
    background: var(--puOkZemin);
    color: var(--puOkMetin);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 6px 16px var(--puOkGolge);
    transform: translateY(-50%);
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s, border-color .18s, color .18s;
}
.pUrunOk.puSol {
    left: 8px;
}
.pUrunOk.puSag {
    right: 8px;
}
.pUrunOk:hover {
    border-color: var(--puVurguCerceve);
    color: var(--puVurgu);
}
.pUrunOk svg {
    display: block;
}
.pUrunSolma {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 72px;
    z-index: 2;
    pointer-events: none;
    opacity: 0;
    transition: opacity .18s;
}
.pUrunSolma.puSol {
    left: 0;
    background: linear-gradient(90deg, var(--puZemin), transparent);
}
.pUrunSolma.puSag {
    right: 0;
    background: linear-gradient(270deg, var(--puZemin), transparent);
}
.pUrunOk.puAcik,
.pUrunSolma.puAcik {
    opacity: 1;
}
.pUrunOk.puAcik {
    pointer-events: auto;
}

@media (max-width: 1399px) {
    .pUrunSerit { --puKartG: calc((100% - 72px) / 4); }
}
@media (max-width: 991px) {
    .pUrunSerit { --puKartG: calc((100% - 36px) / 3.3); gap: 12px; }
}
@media (max-width: 767px) {
    .pUrunSerit { --puKartG: calc((100% - 16px) / 2.3); gap: 8px; }
    .pUrunKap .bolumBaslik { gap: 10px; }
    .pUrunKap .bolumBaslikAd { font-size: 17px; }
    .pUrunKap .bolumBaslikTumu { min-height: 36px; }
    .pUrunOk { display: none; }
    .pUrunSolma { width: 36px; }
    /* Mobilde fiyat satiri 2 satira kadar sarar, alta yasli (K4). */
    .pUrunFiyat {
        height: auto;
        min-height: 30px;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        white-space: normal;
    }
}
@media (prefers-reduced-motion: reduce) {
    .pUrunKart,
    .pUrunKart img,
    .pUrunOk,
    .pUrunSolma {
        transition: none;
    }
}
