/* Hero görseli: pazaryeri entegrasyonları.

   Solda panel kartı (stok değişir), sağda yayındaki pazaryerleri sırayla
   "güncellendi"ye döner. Çerçevesiz; iki parça bilerek kayık durur.

   ANİMASYON KURALI (bkz. aihero.css, themeeditor.css, seohero.css): döngüyü
   paylaşan her öğenin KENDİ keyframe'i vardır — tek keyframe + delay ile
   `infinite` çalışırken ilk turdan sonra faz kayar.

   Durum geçişleri `steps(1, end)` ile keskindir: güncelleme yumuşak bir
   solma değil, gerçekleşen bir olaydır.

   Ortak döngü: 8 sn. */

.mph {
    position: relative;
    width: 100%;
    min-width: 0;
    max-width: 32rem;
    margin-left: auto;
    padding: var(--sp-10) var(--sp-6) var(--sp-10) var(--sp-10);
}

/* ------------------------------------------------------------ panel kartı */

.mph__panel {
    position: relative;
    z-index: 2;
    width: 78%;
    padding: var(--sp-4);
    border-radius: var(--r-md);
    background: #fff;
    box-shadow: 0 22px 48px rgba(2, 6, 23, 0.4);
}

.mph__urun {
    display: flex;
    align-items: center;
    gap: var(--sp-3);
}

/* Ürün görseli yer tutucusu: gerçek bir ürün fotoğrafı iddia etmiyoruz */
.mph__gorsel {
    flex: none;
    width: 38px;
    height: 38px;
    border-radius: var(--r-sm);
    background: var(--surface-soft);
    box-shadow: inset 0 0 0 1px var(--border);
}

.mph__urun-metin { display: flex; flex-direction: column; gap: 2px; min-width: 0; }

.mph__urun-ad {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px;
    font-weight: var(--fw-semibold);
    /* Beyaz üstünde ink-900 → 17,9:1 */
    color: var(--ink-900);
}

.mph__urun-kod {
    font-family: "Courier New", monospace;
    font-size: 10px;
    /* Beyaz üstünde ink-500 → 7,4:1 */
    color: var(--ink-500);
}

.mph__stok {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-3);
    margin-top: var(--sp-3);
    padding: 9px 11px;
    border-radius: var(--r-sm);
    background: var(--surface-soft);
    box-shadow: inset 0 0 0 1px var(--border);
}

.mph__stok-etiket {
    font-size: 10px;
    font-weight: var(--fw-bold);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ink-500);
}

/* İki değer aynı hücrede: biri sönerken diğeri belirir, kutu zıplamaz */
.mph__stok-deger {
    position: relative;
    display: inline-grid;
    font-size: 17px;
    font-weight: var(--fw-bold);
    line-height: 1;
    color: var(--ink-900);
}

.mph__stok-eski,
.mph__stok-yeni {
    grid-area: 1 / 1;
    text-align: right;
}

.mph__stok-eski { animation: mph-eski 8s steps(1, end) infinite; }

.mph__stok-yeni {
    color: var(--brand-800);
    animation: mph-yeni 8s steps(1, end) infinite;
}

/* --------------------------------------------------------- pazaryeri satırları */

.mph__liste {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 7px;
    list-style: none;
    /* Panel kartının altından sağa doğru kayar — iki parça bilerek kayık */
    margin: calc(var(--sp-4) * -1) 0 0 auto;
    padding: var(--sp-4) var(--sp-4) var(--sp-4) var(--sp-8);
    width: 88%;
    border-radius: var(--r-md);
    background: rgba(255, 255, 255, 0.07);
    /* Koyu bant üstünde cam etkisi; kart gibi görünmesin diye çok hafif */
    backdrop-filter: blur(3px);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}

.mph__satir {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 9px;
    border-radius: var(--r-sm);
    background: rgba(255, 255, 255, 0.96);
}

/* Logolar farklı biçimlerde (yuvarlak rozet, düz yazı işareti); hepsi aynı
   ölçüde beyaz bir alanda durunca hizalı görünür. */
.mph__logo {
    display: grid;
    place-items: center;
    flex: none;
    width: 26px;
    height: 26px;
    border-radius: var(--r-xs, 6px);
    background: #fff;
    overflow: hidden;
}

.mph__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.mph__ad {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11.5px;
    font-weight: var(--fw-semibold);
    /* Beyaz üstünde ink-900 → 17,9:1 */
    color: var(--ink-900);
}

.mph__durum {
    position: relative;
    display: inline-grid;
    flex: none;
    font-size: 10px;
    font-weight: var(--fw-bold);
}

.mph__durum-bekle,
.mph__durum-tamam {
    grid-area: 1 / 1;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    justify-self: end;
    white-space: nowrap;
}

.mph__durum-bekle {
    /* Beyaz üstünde ink-500 → 7,4:1 */
    color: var(--ink-500);
}

.mph__durum-tamam {
    /* Beyaz üstünde success-700 → 4,8:1 */
    color: var(--success-700, #15803d);
}

/* Her satır kendi diliminde onaylanır */
.mph__satir--1 .mph__durum-bekle { animation: mph-bekle-1 8s steps(1, end) infinite; }
.mph__satir--2 .mph__durum-bekle { animation: mph-bekle-2 8s steps(1, end) infinite; }
.mph__satir--3 .mph__durum-bekle { animation: mph-bekle-3 8s steps(1, end) infinite; }
.mph__satir--4 .mph__durum-bekle { animation: mph-bekle-4 8s steps(1, end) infinite; }

.mph__satir--1 .mph__durum-tamam { animation: mph-tamam-1 8s steps(1, end) infinite; }
.mph__satir--2 .mph__durum-tamam { animation: mph-tamam-2 8s steps(1, end) infinite; }
.mph__satir--3 .mph__durum-tamam { animation: mph-tamam-3 8s steps(1, end) infinite; }
.mph__satir--4 .mph__durum-tamam { animation: mph-tamam-4 8s steps(1, end) infinite; }

/* -------------------------------------------------------------- animasyon */

@keyframes mph-eski { 0%, 17% { opacity: 1; } 18%, 100% { opacity: 0; } }
@keyframes mph-yeni { 0%, 17% { opacity: 0; } 18%, 100% { opacity: 1; } }

@keyframes mph-bekle-1 { 0%, 27% { opacity: 1; } 28%, 100% { opacity: 0; } }
@keyframes mph-tamam-1 { 0%, 27% { opacity: 0; } 28%, 100% { opacity: 1; } }

@keyframes mph-bekle-2 { 0%, 38% { opacity: 1; } 39%, 100% { opacity: 0; } }
@keyframes mph-tamam-2 { 0%, 38% { opacity: 0; } 39%, 100% { opacity: 1; } }

@keyframes mph-bekle-3 { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
@keyframes mph-tamam-3 { 0%, 49% { opacity: 0; } 50%, 100% { opacity: 1; } }

@keyframes mph-bekle-4 { 0%, 60% { opacity: 1; } 61%, 100% { opacity: 0; } }
@keyframes mph-tamam-4 { 0%, 60% { opacity: 0; } 61%, 100% { opacity: 1; } }

/* Hareket azaltma tercihi: kompozisyon TAMAMLANMIŞ hâlde durur.
   Animasyonu kapatmak yetmez — "yeni" değer ve onaylar opacity: 0 ile başlıyor. */
@media (prefers-reduced-motion: reduce) {
    .mph *,
    .mph { animation: none !important; }

    .mph__stok-eski,
    .mph__durum-bekle { opacity: 0; }

    .mph__stok-yeni,
    .mph__durum-tamam { opacity: 1; }
}

/* ------------------------------------------------------------- duyarlılık */

@media (min-width: 901px) and (max-width: 1200px) {
    .mph {
        max-width: 28rem;
        padding: var(--sp-8) var(--sp-4) var(--sp-8) var(--sp-6);
    }

    .mph__panel { width: 84%; }
    .mph__liste { width: 94%; padding-left: var(--sp-6); }
}

@media (max-width: 900px) {
    .mph { margin-left: 0; margin-right: auto; }
}

@media (max-width: 560px) {
    .mph { padding: 0 0 var(--sp-6); max-width: none; }
    .mph__panel { width: 100%; }
    .mph__liste { width: 100%; margin-top: var(--sp-4); padding: var(--sp-4); }
}
