/* ==================================================================
 *  MAĞAZA (ön yüz) — Ürünler, Sipariş, Ödeme ve Üyelik modülleri
 * ------------------------------------------------------------------
 *  Renkler çekirdek değişkenlerinden (--cy-brand-*, --cy-border…):
 *  temanın ve müşterinin renk seçimi buraya da yansır. Sabit renk yok
 *  (yalnız indirim kırmızısı ve gölgeler). Temalar üstüne yazabilir.
 * ================================================================== */

:root {
    --cy-mg-indirim: #c62828;
    --cy-mg-radius: var(--cy-radius-lg, 14px);
    --cy-mg-oran: 4 / 5;
}
[data-cy-theme="dark"] { --cy-mg-indirim: #ff7a7a; }

/* ---------- ana sayfa: sekmeli ürün listesi (urunler-sekmeler) ----------
 * Temel görünüm temadan bağımsız (T21: Sade temada sekmeler ham tarayıcı düğmesiydi, panel başlığı
 * da çift görünüyordu). :where() ile öncelik sıfır: Vitrin gibi temalar kendi biçimini yazar. */
:where(.cy-urun-sekmeler__bas) { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem 2rem; margin-bottom: 1.75rem; }
:where(.cy-urun-sekmeler__bas) .cy-home-head { margin-bottom: 0; }
:where(.cy-urun-sekmeler__liste) { display: flex; gap: .4rem; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
:where(.cy-urun-sekmeler__liste [role="tab"]) { flex-shrink: 0; min-height: 44px; padding: .4rem 1rem; border: 1px solid var(--cy-border); border-radius: 999px; background: var(--cy-surface); color: var(--cy-text-muted); font: inherit; font-size: .875rem; font-weight: 600; cursor: pointer; }
:where(.cy-urun-sekmeler__liste [role="tab"]:hover) { color: var(--cy-text); }
:where(.cy-urun-sekmeler__liste [role="tab"][aria-selected="true"]) { border-color: var(--cy-brand-600); background: var(--cy-brand-600); color: #fff; }
:where(.cy-urun-sekmeler__liste [role="tab"]:focus-visible) { outline: 2px solid var(--cy-focus, var(--cy-brand-600)); outline-offset: 2px; }
:where(.cy-urun-sekmeler.is-sekmeli .cy-urun-sekmeler__panel-baslik) { display: none; }
:where(.cy-urun-sekmeler__panel-baslik) { margin: 2rem 0 1rem; font-size: 1.3rem; }
:where(.cy-urun-sekmeler__tumu) { margin: 2rem 0 0; text-align: center; }

/* ---------- ortak küçükler ---------- */
.cy-yol { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; font-size: .8125rem; color: var(--cy-text-muted); margin-bottom: 1rem; }   /* center: telefonda 32 px'lik bağlantı ayraçtan aşağıda duruyordu (T25) */
.cy-yol a { color: inherit; text-decoration: none; }
.cy-yol a:hover { color: var(--cy-brand-text); text-decoration: underline; }
.cy-cip { display: inline-flex; align-items: center; gap: .35rem; min-height: 36px; padding: .35rem .85rem; border: 1px solid var(--cy-border); border-radius: 999px; background: var(--cy-surface); color: var(--cy-text); font-size: .875rem; text-decoration: none; }
.cy-cip:hover { border-color: var(--cy-brand-400); color: var(--cy-brand-text); }
.cy-rozet { display: inline-block; padding: .1rem .5rem; border-radius: 999px; background: var(--cy-brand-100); color: var(--cy-brand-text); font-size: .75rem; font-weight: 600; }
.cy-link--tehlike { color: var(--cy-danger-text, #b91c1c) !important; }
.cy-renk-nokta { display: inline-block; width: 1rem; height: 1rem; border-radius: 50%; background: var(--cy-surface-2, #ddd); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15), 0 0 0 1px color-mix(in srgb, var(--cy-text, #111) 22%, transparent); flex-shrink: 0; }

/* Üst menü araçları (hesap, sepet) */
.cy-nav-arac { position: relative; display: inline-grid; place-items: center; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; color: var(--cy-text); text-decoration: none; }
.cy-nav-arac:hover { background: var(--cy-brand-50); color: var(--cy-brand-text); }
.cy-nav-arac .cy-icon { width: 20px; height: 20px; }
.cy-nav-arac__sayi { position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--cy-brand-600); color: #fff; font-size: .6875rem; font-weight: 700; line-height: 18px; text-align: center; }
/* Giriş yapmış üye: baş harfleri (giriş yapıldığı bir bakışta görülür). */
.cy-nav-avatar { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--cy-brand-600); color: #fff; font-size: .72rem; font-weight: 600; letter-spacing: .03em; line-height: 1; }
.cy-nav-arac--uye:hover .cy-nav-avatar { box-shadow: 0 0 0 3px color-mix(in srgb, var(--cy-brand-600) 25%, transparent); }
.cy-nav-arac--uye:hover { background: none; }

/* ---------- fiyat ---------- */
.cy-urun-fiyat { display: flex; flex-wrap: wrap; align-items: baseline; gap: .1rem .5rem; margin: 0; }
.cy-urun-fiyat__eski { color: var(--cy-text-muted); font-size: .875em; }
.cy-urun-fiyat__satis { font-weight: 700; color: var(--cy-text); }
.cy-urun-fiyat__satis small { font-weight: 400; font-size: .8em; color: var(--cy-text-muted); }
.cy-urun-fiyat__satis.is-indirimli { color: var(--cy-mg-indirim); }
.cy-urun-fiyat--buyuk { font-size: 1.5rem; }
.cy-urun-fiyat--buyuk .cy-urun-fiyat__eski { font-size: 1rem; }

.cy-urun-rozet { display: inline-block; padding: .2rem .55rem; border-radius: 999px; background: var(--cy-surface); color: var(--cy-text); font-size: .75rem; font-weight: 700; box-shadow: 0 1px 3px rgba(0, 0, 0, .12); }
.cy-urun-rozet--indirim { background: var(--cy-mg-indirim); color: #fff; }
.cy-urun-rozet--koyu { background: #222; color: #fff; }

/* ---------- ürün kartı ---------- */
.cy-urun-izgara { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem .9rem; }
@media (min-width: 768px) { .cy-urun-izgara { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.4rem 1.25rem; } }
@media (min-width: 1200px) { .cy-urun-izgara--dort { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.cy-urun-kart { position: relative; display: flex; flex-direction: column; min-width: 0; }
.cy-urun-kart__gorsel { position: relative; display: block; aspect-ratio: var(--cy-mg-oran); overflow: hidden; border-radius: var(--cy-mg-radius); background: var(--cy-surface-soft, #f4f4f4); isolation: isolate; }
.cy-urun-kart__gorsel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .45s ease, transform .9s cubic-bezier(.2, .7, .2, 1); }
.cy-urun-kart__ikinci { opacity: 0; }
@media (hover: hover) {
    .cy-urun-kart:hover .cy-urun-kart__ikinci { opacity: 1; }
    .cy-urun-kart:hover .cy-urun-kart__gorsel img { transform: scale(1.035); }
}
.cy-urun-kart__bos { position: absolute; inset: 0; display: grid; place-items: center; color: var(--cy-text-muted); }
.cy-urun-kart__rozetler { position: absolute; z-index: 2; top: .65rem; left: .65rem; display: flex; flex-wrap: wrap; gap: .3rem; }
/* Stoktaki bedenler: masaüstünde üzerine gelince alttan çıkar; tükenen çizili. */
.cy-urun-kart__bedenler { position: absolute; z-index: 2; left: .6rem; right: .6rem; bottom: .6rem; display: flex; flex-wrap: wrap; justify-content: center; gap: .15rem .55rem; padding: .5rem .6rem; border-radius: calc(var(--cy-mg-radius) - 4px); background: color-mix(in srgb, var(--cy-surface) 92%, transparent); backdrop-filter: blur(6px); color: var(--cy-text); font-size: .75rem; font-weight: 600; letter-spacing: .03em; opacity: 0; transform: translateY(8px); transition: opacity .25s, transform .25s; }
.cy-urun-kart__bedenler .is-yok { color: var(--cy-text-muted); font-weight: 400; text-decoration: line-through; opacity: .6; }
@media (hover: hover) { .cy-urun-kart:hover .cy-urun-kart__bedenler, .cy-urun-kart:focus-within .cy-urun-kart__bedenler { opacity: 1; transform: none; } }
@media (hover: none) { .cy-urun-kart__bedenler { display: none; } }
.cy-urun-kart.is-tukendi .cy-urun-kart__gorsel img { filter: grayscale(.6); opacity: .7; }
.cy-urun-kart__govde { display: flex; flex-direction: column; gap: .2rem; padding: .8rem .1rem 0; }
/* Marka adı sahibinin yazdığı gibi: büyük harfe çevirmek Türkçede yabancı adı bozuyordu ("Miven Basic" → "MİVEN BASİC",
   "Atelier" → "ATELİER"); İngilizce kuralı da Türkçe adı bozar ("Gizli" → "GIZLI"). 01.11.2026, miven. */
.cy-urun-kart__marka { margin: 0; font-size: .75rem; font-weight: 600; letter-spacing: .02em; color: var(--cy-text-muted); }
.cy-urun-kart__ad { display: -webkit-box; margin: 0; overflow: hidden; font-size: .9375rem; font-weight: 500; line-height: 1.35; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.cy-urun-kart__ad a { color: var(--cy-text); text-decoration: none; }
.cy-urun-kart__ad a::after { content: ""; position: absolute; inset: 0; } /* bütün kart tıklanır */
.cy-urun-kart__ad a:focus-visible { outline: none; }
.cy-urun-kart:focus-within { outline: 2px solid var(--cy-focus, var(--cy-brand-600)); outline-offset: 4px; border-radius: var(--cy-mg-radius); }
.cy-urun-kart .cy-urun-fiyat { margin-top: .1rem; font-size: .9375rem; }
.cy-urun-kart__alt { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .75rem; margin-top: .35rem; font-size: .75rem; }
.cy-urun-kart__renkler { display: flex; align-items: center; gap: .3rem; margin: 0; padding: 0; list-style: none; }
.cy-urun-kart__renkler .cy-renk-nokta { width: .8rem; height: .8rem; }
.cy-urun-kart__fazla { color: var(--cy-text-muted); }
.cy-urun-kart__puan { white-space: nowrap; font-weight: 600; }
.cy-urun-kart__puan > span[aria-hidden] { color: #e0a100; }
.cy-urun-kart__az { color: var(--cy-mg-indirim); font-weight: 600; }

/* ---------- liste sayfası ---------- */
.cy-magaza__bas { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: .5rem 1rem; margin-bottom: 1rem; }
.cy-magaza__alt { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.25rem; }
.cy-cip__sayi, .cy-suzgec__sayi { color: var(--cy-text-muted); font-size: .8em; font-variant-numeric: tabular-nums; }
.cy-magaza__duzen { display: grid; gap: 1.5rem; }
@media (min-width: 992px) { .cy-magaza__duzen { grid-template-columns: 240px minmax(0, 1fr); gap: 2.5rem; } }
/* Araç çubuğu (süzgeç düğmesi, sonuç sayısı, arama, sıralama) kaydırınca menünün altına yapışır. */
.cy-magaza__arac { position: sticky; top: var(--cy-site-nav-h, 64px); z-index: 20; display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin: 0 -.5rem .75rem; padding: .5rem; background: var(--cy-bg, var(--cy-surface)); border-bottom: 1px solid transparent; }
.cy-magaza__sonuc { flex: 0 0 auto; color: var(--cy-text-muted); font-size: .875rem; white-space: nowrap; }
.cy-magaza__sonuc strong { color: var(--cy-text); font-variant-numeric: tabular-nums; }
.cy-magaza__ara { display: flex; flex: 1 1 220px; gap: .4rem; }
.cy-magaza__sirala { display: flex; align-items: center; gap: .4rem; flex: 0 1 270px; }
.cy-magaza__sirala-etiket { flex-shrink: 0; margin: 0; color: var(--cy-text-muted); font-size: .8125rem; }
/* Marka sayfası başlığı: logo + ad + açıklama */
.cy-marka-bas { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-bottom: 1.5rem; }
.cy-marka-bas__logo { display: grid; place-items: center; width: 160px; height: 80px; padding: .5rem; border: 1px solid var(--cy-border); border-radius: var(--cy-mg-radius, 12px); background: #fff; }
.cy-marka-bas__logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.cy-marka-bas__metin { flex: 1 1 320px; min-width: 0; }
.cy-marka-bas__aciklama { max-width: 70ch; margin: .5rem 0 .25rem; color: var(--cy-text-muted); }
.cy-urun__marka a { color: inherit; text-decoration: none; }
.cy-urun__marka a:hover, .cy-urun__marka a:focus-visible { color: var(--cy-text); text-decoration: underline; text-underline-offset: 3px; }
/* Marka süzgeci: onay kutulu satırlar; uzun listede arama + kaydırma */
.cy-suzgec__ara { margin-bottom: .5rem; }
.cy-suzgec__liste { display: grid; gap: .1rem; }
.cy-suzgec__liste.is-uzun { max-height: 15rem; overflow-y: auto; padding-right: .25rem; scrollbar-width: thin; }
.cy-kutu { display: flex; align-items: center; gap: .55rem; min-height: 36px; padding: .2rem .35rem; border-radius: 8px; font-size: .9375rem; cursor: pointer; }
.cy-kutu:hover { background: var(--cy-surface-soft, #f4f4f4); }
.cy-kutu[hidden] { display: none; }
.cy-kutu input { flex-shrink: 0; width: 18px; height: 18px; margin: 0; accent-color: var(--cy-text); }
.cy-kutu input:focus-visible { outline: 2px solid var(--cy-focus, var(--cy-brand-600)); outline-offset: 2px; }
.cy-kutu__ad { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cy-suzgec__araliklar .cy-suzgec__sayi { margin-left: .15rem; }
.cy-suzgec__form.is-sayiyor [data-suzgec-uygula] { opacity: .75; }
.cy-magaza__suzgec-ac { display: inline-flex; align-items: center; gap: .4rem; cursor: pointer; }
.cy-magaza__suzgec-sayi { position: static; display: inline-block; margin-left: .15rem; }
.cy-magaza__durum { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; min-height: 2rem; margin-bottom: 1.25rem; }
.cy-magaza__cipler { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.cy-cip--secili { min-height: 32px; padding: .2rem .6rem; border-color: var(--cy-text); font-size: .8125rem; }
.cy-cip--secili .cy-icon { width: 14px; height: 14px; }
.cy-cip--secili .cy-renk-nokta { width: .75rem; height: .75rem; }
/* Kategori / marka çipi (T25): sayfanın konumu; seçili süzgeçlerden önce, dolgulu. */
.cy-cip--konum { border-color: var(--cy-text); background: var(--cy-text); color: var(--cy-bg, var(--cy-surface)); font-weight: 600; }
.cy-cip--konum:hover { border-color: var(--cy-brand-600, var(--cy-text)); background: var(--cy-brand-600, var(--cy-text)); color: #fff; }
.cy-magaza__bos { padding: 3rem 1rem; text-align: center; border: 1px dashed var(--cy-border); border-radius: var(--cy-mg-radius); color: var(--cy-text-muted); }
.cy-sayfalama { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 2rem; }

/* Süzgeç: masaüstünde sol sütun (yapışkan); telefonda alttan çekmece (#cy-suzgec-ac onay kutusu, betiksiz). */
.cy-suzgec__anahtar { position: absolute; opacity: 0; pointer-events: none; }
.cy-suzgec__ust { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.cy-suzgec__baslik { display: flex; align-items: center; gap: .5rem; margin: 0; font-size: 1rem; font-weight: 700; }
.cy-suzgec__kapat { display: none; place-items: center; width: 40px; height: 40px; border-radius: 50%; cursor: pointer; }
.cy-suzgec__kapat:hover { background: var(--cy-surface-soft, #f4f4f4); }
.cy-suzgec__perde { display: none; }
.cy-suzgec__grup { margin: 0 0 1.25rem; padding: 0 0 1.25rem; border: 0; border-bottom: 1px solid var(--cy-border); }
.cy-suzgec__form .cy-suzgec__grup:nth-last-of-type(1) { border-bottom: 0; }
.cy-suzgec__etiket { float: none; width: auto; margin: 0 0 .6rem; padding: 0; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--cy-text-muted); }
.cy-suzgec__degerler { display: flex; flex-wrap: wrap; gap: .4rem; }
.cy-secim { position: relative; display: inline-flex; align-items: center; gap: .35rem; min-height: 36px; padding: .3rem .7rem; border: 1px solid var(--cy-border); border-radius: 999px; background: var(--cy-surface); color: var(--cy-text); font-size: .875rem; text-decoration: none; cursor: pointer; }
.cy-secim:hover { border-color: var(--cy-text); color: var(--cy-text); }
.cy-secim input { position: absolute; opacity: 0; pointer-events: none; }
.cy-secim.is-secili, .cy-secim:has(input:checked) { border-color: var(--cy-text); background: var(--cy-text); color: var(--cy-surface); }
.cy-secim.is-secili .cy-suzgec__sayi, .cy-secim:has(input:checked) .cy-suzgec__sayi { color: inherit; opacity: .7; }
.cy-secim:has(input:focus-visible) { outline: 2px solid var(--cy-focus, var(--cy-brand-600)); outline-offset: 2px; }
.cy-suzgec__degerler.is-renk { display: grid; grid-template-columns: 1fr 1fr; gap: .35rem; }
.cy-suzgec__degerler.is-renk .cy-secim { justify-content: flex-start; border-radius: 8px; padding: .3rem .55rem; }
.cy-suzgec__degerler.is-renk .cy-suzgec__sayi { margin-left: auto; }
.cy-secim__ad { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cy-suzgec__fazla { margin-top: .35rem; }
.cy-suzgec__fazla > summary { display: inline-flex; padding: .25rem 0; color: var(--cy-text); font-size: .8125rem; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; list-style: none; }
.cy-suzgec__fazla > summary::-webkit-details-marker { display: none; }
.cy-suzgec__fazla > .cy-suzgec__degerler { margin-bottom: .35rem; }
.cy-suzgec__fazla[open] > summary { order: 2; }
.cy-suzgec__fazla .is-acik, .cy-suzgec__fazla[open] .is-kapali { display: none; }
.cy-suzgec__fazla[open] .is-acik { display: inline; }
.cy-suzgec__araliklar { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .6rem; }
.cy-suzgec__araliklar .cy-secim { min-height: 32px; font-size: .8125rem; }
.cy-suzgec__fiyat { display: flex; align-items: center; gap: .4rem; }
.cy-suzgec__fiyat .form-control { min-width: 0; }
.cy-anahtar { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 40px; font-size: .9375rem; cursor: pointer; }
.cy-anahtar input { appearance: none; position: relative; flex-shrink: 0; order: 2; width: 38px; height: 22px; margin: 0; border-radius: 999px; background: var(--cy-border); transition: background-color .2s; cursor: pointer; }
.cy-anahtar input::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .25); transition: transform .2s; }
.cy-anahtar input:checked { background: var(--cy-text); }
.cy-anahtar input:checked::after { transform: translateX(16px); }
.cy-anahtar input:focus-visible { outline: 2px solid var(--cy-focus, var(--cy-brand-600)); outline-offset: 2px; }
.cy-suzgec__alt { display: flex; gap: .5rem; }

@media (min-width: 992px) {
    /* Süzgeç sütunu hep açık: "Süzgeç" düğmesi ve çekmece başlığı gereksiz. ">" temanın ".cy-site .cy-btn { display:
       inline-flex }" kuralını geçer (eskiden düğme masaüstünde de görünüyordu). Alt kategori çipleri (kategori sayfası)
       masaüstünde de kalır: süzgeçte kategori ağacı yok (T20). */
    .cy-magaza__arac > .cy-magaza__suzgec-ac { display: none; }
    .cy-suzgec__ust { display: none; }
    .cy-suzgec__kutu { position: sticky; top: calc(var(--cy-site-nav-h, 72px) + 1rem); max-height: calc(100vh - var(--cy-site-nav-h, 72px) - 2rem); overflow-y: auto; padding-right: .25rem; scrollbar-width: thin; }
    /* Masaüstünde seçim anında uygulanır (magaza.js düğmeyi gizler); betiksizde düğme kalır. */
    .cy-suzgec__alt [data-suzgec-uygula].is-gizli { display: none; }
}
@media (max-width: 991.98px) {
    .cy-suzgec { position: fixed; inset: 0; z-index: 1050; visibility: hidden; }
    .cy-suzgec__perde { display: block; position: absolute; inset: 0; background: rgba(0, 0, 0, .45); opacity: 0; transition: opacity .25s; cursor: pointer; }
    .cy-suzgec__kutu { position: absolute; left: 0; right: 0; bottom: 0; max-height: 86vh; overflow-y: auto; padding: 1rem 16px 0; border-radius: 18px 18px 0 0; background: var(--cy-surface); transform: translateY(100%); transition: transform .3s ease; }
    .cy-suzgec__kapat { display: grid; }
    .cy-suzgec__alt { position: sticky; bottom: 0; margin: 0 -16px; padding: .75rem 16px calc(.75rem + env(safe-area-inset-bottom)); border-top: 1px solid var(--cy-border); background: var(--cy-surface); }
    .cy-suzgec__alt .btn { min-height: 46px; }
    .cy-suzgec__anahtar:checked ~ .cy-magaza__duzen .cy-suzgec { visibility: visible; }
    .cy-suzgec__anahtar:checked ~ .cy-magaza__duzen .cy-suzgec__perde { opacity: 1; }
    .cy-suzgec__anahtar:checked ~ .cy-magaza__duzen .cy-suzgec__kutu { transform: none; }
    .cy-magaza__ara { order: 3; flex-basis: 100%; }
    .cy-magaza__sirala { flex: 1 1 140px; }
    .cy-magaza__sirala-etiket { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .cy-magaza__sonuc { order: 2; margin-left: auto; }
    /* Çekmece açıkken sayfa kaymaz. */
    html:has(.cy-suzgec__anahtar:checked) { overflow: hidden; }
}
/* Telefon: Süzgeç, sıralama ve küçük ürün sayısı tek satırda, arama altta (iki satır). Seçicideki ">" temanın
   ".cy-site .cy-magaza__sirala { flex: 1 1 auto }" kuralını geçer; auto taban seçim kutusunun en uzun seçeneği kadar
   yer isteyip satırı kırıyordu. Arama kutusu sorguyu zaten gösterdiği için sayıdaki sorgu yazısı gizlenir. */
@media (max-width: 575.98px) {
    .cy-magaza__arac { gap: .45rem; }
    .cy-magaza__arac > .cy-magaza__suzgec-ac { flex: 0 0 auto; padding-inline: .85rem; }
    .cy-magaza__arac > .cy-magaza__sirala { flex: 1 1 0; min-width: 0; }
    .cy-magaza__sirala .form-select { width: 100%; min-width: 0; }
    .cy-magaza__arac > .cy-magaza__sonuc { flex: 0 0 auto; margin-left: 0; font-size: .75rem; }
    .cy-magaza__sonuc .cy-muted { display: none; }
}
/* Tablet: çekmece alttan değil soldan açılır (tam boy). */
@media (min-width: 576px) and (max-width: 991.98px) {
    .cy-suzgec__kutu { top: 0; right: auto; bottom: 0; width: min(380px, 88vw); max-height: none; border-radius: 0 18px 18px 0; transform: translateX(-100%); }
}
@media (prefers-reduced-motion: reduce) { .cy-suzgec__kutu, .cy-suzgec__perde { transition: none; } }

/* ---------- ürün sayfası ---------- */
.cy-urun__duzen { display: grid; gap: 1.5rem; }
/* Tablette de iki sütun (T20): 768 px'de tek sütunda ilk ekranın tamamını görsel kaplıyor, ad/fiyat/seçenek aşağıda kalıyordu. */
@media (min-width: 768px) { .cy-urun__duzen { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.75rem; align-items: start; } }
@media (min-width: 992px) { .cy-urun__duzen { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 3rem; } }
/* Galeri: telefonda tam genişlik kaydırma + noktalar; masaüstünde solda dikey küçük resimler, büyük görsel ekrana sığar. */
.cy-urun__sahne { display: grid; gap: .6rem; }
.cy-urun__ana-kutu { position: relative; min-width: 0; }
.cy-urun__ana { display: flex; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; border-radius: var(--cy-mg-radius); background: var(--cy-surface-soft, #f4f4f4); scrollbar-width: none; }
.cy-urun__ana::-webkit-scrollbar { display: none; }
.cy-urun__ana:focus-visible { outline: 2px solid var(--cy-focus, var(--cy-brand-600)); outline-offset: 3px; }
/* height: auto şart: yoksa height="1125" özniteliği oranı ezer, telefonda görsel 3 ekran boyu olur (T18). */
.cy-urun__ana img { flex: 0 0 100%; width: 100%; height: auto; aspect-ratio: var(--cy-mg-oran); object-fit: cover; scroll-snap-align: start; user-select: none; }
.cy-urun__ana.is-bos { display: grid; place-items: center; aspect-ratio: var(--cy-mg-oran); color: var(--cy-text-muted); }
.cy-urun__rozetler { position: absolute; top: .8rem; left: .8rem; display: flex; flex-wrap: wrap; gap: .35rem; pointer-events: none; }
.cy-urun__ok { position: absolute; top: 50%; display: grid; place-items: center; width: 44px; height: 44px; margin-top: -22px; border: 1px solid var(--cy-border); border-radius: 50%; background: color-mix(in srgb, var(--cy-surface) 88%, transparent); color: var(--cy-text); box-shadow: 0 4px 14px rgba(0, 0, 0, .1); transition: opacity .2s, transform .2s; }
.cy-urun__ok:hover:not(:disabled) { transform: scale(1.06); }
.cy-urun__ok:disabled { opacity: 0; pointer-events: none; }
.cy-urun__ok--onceki { left: .75rem; }
.cy-urun__ok--onceki .cy-icon { transform: scaleX(-1); }
.cy-urun__ok--sonraki { right: .75rem; }
.cy-urun__sayac { position: absolute; right: .8rem; bottom: .8rem; padding: .2rem .6rem; border-radius: 999px; background: rgba(0, 0, 0, .55); color: #fff; font-size: .75rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.cy-urun__noktalar { display: flex; justify-content: center; gap: .4rem; margin-top: .7rem; }
.cy-urun__noktalar span { width: 7px; height: 7px; border-radius: 50%; background: var(--cy-border); transition: width .2s, background-color .2s; }
.cy-urun__noktalar span.is-aktif { width: 20px; border-radius: 4px; background: var(--cy-text); }
.cy-urun__kucukler { display: none; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.cy-urun__kucukler button { display: block; padding: 0; border: 2px solid transparent; border-radius: 10px; background: var(--cy-surface-soft, #f4f4f4); overflow: hidden; opacity: .7; transition: opacity .2s, border-color .2s; }
.cy-urun__kucukler button:hover { opacity: 1; }
.cy-urun__kucukler button[aria-current="true"] { border-color: var(--cy-text); opacity: 1; }
.cy-urun__kucukler img { display: block; width: 72px; aspect-ratio: var(--cy-mg-oran); height: auto; object-fit: cover; }
@media (max-width: 991.98px) {
    /* Telefonda görsel kenardan kenara; oklar gizli (parmakla kaydırılır). */
    .cy-urun__galeri { margin-inline: calc(var(--bs-gutter-x, 1.5rem) * -.5); }
    .cy-urun__ana { border-radius: 0; }
    .cy-urun__ok { display: none; }
}
@media (min-width: 992px) {
    .cy-urun__galeri { position: sticky; top: calc(var(--cy-site-nav-h, 72px) + 1rem); }
    .cy-urun__sahne.is-coklu { grid-template-columns: 76px minmax(0, 1fr); gap: .9rem; align-items: start; }
    .cy-urun__kucukler { display: flex; flex-direction: column; max-height: calc(100vh - var(--cy-site-nav-h, 72px) - 2rem); overflow-y: auto; scrollbar-width: thin; }
    /* Büyük görsel ekrana sığsın: genişlik ekran yüksekliğinin 4/5'iyle sınırlı, oran korunur (kırpılmaz). */
    .cy-urun__ana-kutu { width: 100%; max-width: calc((100vh - var(--cy-site-nav-h, 72px) - 2rem) * .8); }
    .cy-urun__noktalar { display: none; }
}

.cy-urun__marka { margin: 0 0 .25rem; font-size: .875rem; letter-spacing: .02em; color: var(--cy-text-muted); }
.cy-urun__ad { margin: 0 0 .75rem; font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.1rem); line-height: 1.2; }
.cy-urun__ozet { color: var(--cy-text-soft, var(--cy-text)); }
.cy-urun__form { margin: 1.25rem 0; }
.cy-secenek { margin: 0 0 1.1rem; padding: 0; border: 0; border-radius: 10px; transition: box-shadow .2s; }
.cy-secenek.is-uyari { box-shadow: 0 0 0 3px var(--cy-mg-indirim); }
.cy-secenek__ad { width: 100%; margin-bottom: .5rem; font-size: .9375rem; }
/* Beden rehberi bağlantısı başlık satırının sonunda; magaza.js başlığın ilk metnini ("Beden:") okur, bağlantı sonda kalmalı. */
.cy-secenek__rehber { float: inline-end; font-size: .8125rem; color: var(--cy-text); text-decoration: underline; text-underline-offset: 3px; }
.cy-secenek__degerler { display: flex; flex-wrap: wrap; gap: .5rem; }
.cy-secenek__deger { min-width: 48px; min-height: 44px; padding: .4rem .8rem; border: 1px solid var(--cy-border); border-radius: 10px; background: var(--cy-surface); color: var(--cy-text); font-weight: 600; }
.cy-secenek__deger:hover { border-color: var(--cy-text); }
.cy-secenek__deger[aria-pressed="true"] { border-color: var(--cy-text); box-shadow: inset 0 0 0 1px var(--cy-text); }
.cy-secenek__deger.is-yok { color: var(--cy-text-muted); text-decoration: line-through; opacity: .55; }
.cy-secenek__degerler.is-renk .cy-secenek__deger { display: grid; place-items: center; min-width: 0; width: 44px; height: 44px; padding: 0; border-radius: 50%; }
.cy-secenek__degerler.is-renk .cy-renk-nokta { width: 32px; height: 32px; }
.cy-secenek__degerler.is-renk .cy-secenek__deger.is-yok { text-decoration: none; position: relative; }
.cy-secenek__degerler.is-renk .cy-secenek__deger.is-yok::after { content: ""; position: absolute; width: 140%; height: 1.5px; background: var(--cy-text-muted); transform: rotate(-45deg); }
.cy-urun__stok { min-height: 1.5rem; font-size: .9rem; }
.cy-urun__az { color: var(--cy-warning-text, #92400e); font-weight: 600; }
.cy-urun__al { display: flex; gap: .6rem; }
/* WhatsApp modülü: "Bu ürünü WhatsApp'tan sorun" (04.11.2026) */
.cy-urun__whatsapp { display: inline-flex; align-items: center; gap: .4rem; margin-top: .75rem; min-height: 44px; font-size: .9rem; font-weight: 600; color: #128c4b; text-decoration: none; }
.cy-urun__whatsapp:hover, .cy-urun__whatsapp:focus-visible { color: #0b6b38; text-decoration: underline; }
.cy-urun__sepete { flex: 1; min-height: 52px; font-size: 1rem; }
.cy-adet { display: inline-flex; align-items: center; border: 1px solid var(--cy-border); border-radius: 10px; background: var(--cy-surface); }
.cy-adet button { display: grid; place-items: center; width: 40px; height: 48px; border: 0; background: none; color: var(--cy-text); }
.cy-adet input { width: 3rem; height: 48px; border: 0; background: none; text-align: center; font-weight: 600; color: var(--cy-text); -moz-appearance: textfield; }
.cy-adet input::-webkit-inner-spin-button, .cy-adet input::-webkit-outer-spin-button { -webkit-appearance: none; }
.cy-adet--kucuk button, .cy-adet--kucuk input { height: 38px; }
.cy-adet--kucuk button { width: 32px; }
.cy-urun__guven { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin: 1.25rem 0; padding: .85rem 1rem; border-radius: var(--cy-mg-radius); background: var(--cy-surface-soft, #f6f6f6); list-style: none; font-size: .9rem; }
.cy-urun__guven li { display: flex; align-items: center; gap: .5rem; }
.cy-urun__etiketler { display: flex; flex-wrap: wrap; gap: .4rem; }
.cy-urun__bolumler { margin: 1.5rem 0 0; border-top: 1px solid var(--cy-border); }
.cy-urun__bolum { border-bottom: 1px solid var(--cy-border); }
.cy-urun__bolum > summary { display: flex; align-items: center; gap: .6rem; min-height: 56px; padding: .9rem 0; font-weight: 600; cursor: pointer; list-style: none; }
.cy-urun__bolum > summary::-webkit-details-marker { display: none; }
.cy-urun__bolum > summary::after { content: ""; width: .6rem; height: .6rem; margin-left: auto; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .2s; }
.cy-urun__bolum[open] > summary::after { transform: rotate(-135deg) translateY(-2px); }
.cy-urun__bolum > summary .cy-icon { color: var(--cy-text-muted); }
.cy-urun__bolum > summary:focus-visible { outline: 2px solid var(--cy-focus, var(--cy-brand-600)); outline-offset: 2px; }
.cy-urun__bolum-ic { padding: 0 0 1.25rem; font-size: .9375rem; }
.cy-urun__bolum-ic.cy-prose > :last-child { margin-bottom: 0; }
.cy-urun__ozellikler { margin: 0; }
.cy-urun__ozellikler > div { display: grid; grid-template-columns: minmax(7rem, 38%) 1fr; gap: 1rem; padding: .55rem 0; border-bottom: 1px dashed var(--cy-border); }
.cy-urun__ozellikler > div:last-child { border-bottom: 0; }
.cy-urun__ozellikler > div[hidden] { display: none; }
.cy-urun__ozellikler dt { font-weight: 500; color: var(--cy-text-muted); }
.cy-urun__ozellikler dd { margin: 0; color: var(--cy-text); }
.cy-urun__bakim { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .6rem; margin: 0; padding: 0; list-style: none; }
.cy-urun__bakim li { display: flex; align-items: center; gap: .6rem; padding: .55rem .65rem; border: 1px solid var(--cy-border); border-radius: 10px; font-size: .875rem; line-height: 1.3; }
.cy-urun__bakim .cy-bakim-simge { width: 30px; height: 30px; flex-shrink: 0; color: var(--cy-text); }
.cy-urun__bakim-not { margin: .8rem 0 0; color: var(--cy-text-muted); }
.cy-urun__liste { margin: 0; padding-left: 1.1rem; display: grid; gap: .4rem; }
.cy-urun__ilgili { margin-top: 3.5rem; }
.cy-urun__ilgili h2 { margin-bottom: 1.25rem; }
.cy-urun__yapiskan { position: fixed; z-index: 1030; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem 16px calc(.7rem + env(safe-area-inset-bottom)); border-top: 1px solid var(--cy-border); background: var(--cy-surface); box-shadow: 0 -6px 20px rgba(0, 0, 0, .08); }
.cy-urun__yapiskan-fiyat { font-weight: 700; font-size: 1.1rem; }
@media (min-width: 992px) { .cy-urun__yapiskan { display: none !important; } }

/* ---------- ana sayfa bölümleri ---------- */
.cy-kategori-izgara { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
@media (min-width: 768px) { .cy-kategori-izgara { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; } }
.cy-kategori-kart { position: relative; display: block; aspect-ratio: var(--cy-mg-oran); overflow: hidden; border-radius: var(--cy-mg-radius); color: #fff; text-decoration: none; }
.cy-kategori-kart img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.cy-kategori-kart::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, .55), rgba(0, 0, 0, 0) 55%); }
.cy-kategori-kart__ad { position: absolute; z-index: 1; left: 1rem; right: 1rem; bottom: .9rem; font-size: 1.1rem; font-weight: 700; }
@media (hover: hover) { .cy-kategori-kart:hover img { transform: scale(1.05); } }
.cy-tum-baglanti { min-height: 44px; }

/* ---------- Hesabım ---------- */
.cy-hesap__bas { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.cy-hesap__selam { margin: 0; color: var(--cy-text-muted); }
.cy-hesap__sekmeler { display: flex; gap: .35rem; margin-bottom: 1.5rem; padding-bottom: .5rem; border-bottom: 1px solid var(--cy-border); overflow-x: auto; }
.cy-hesap__sekme { display: inline-flex; align-items: center; gap: .4rem; min-height: 40px; padding: .4rem .9rem; border-radius: 999px; color: var(--cy-text); text-decoration: none; white-space: nowrap; }
.cy-hesap__sekme:hover { background: var(--cy-brand-50); }
.cy-hesap__sekme.is-active { background: var(--cy-brand-600); color: #fff; }
.cy-hesap__kartlar { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.cy-hesap__kart, .cy-hesap__kutu { padding: 1.25rem; border: 1px solid var(--cy-border); border-radius: var(--cy-mg-radius); background: var(--cy-surface); }
.cy-hesap__kart.is-varsayilan { border-color: var(--cy-brand-400); }
.cy-hesap__kart-ikon { display: inline-grid; place-items: center; width: 40px; height: 40px; margin-bottom: .6rem; border-radius: 12px; background: var(--cy-brand-50); color: var(--cy-brand-text); }
.cy-hesap__kart-islem { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.cy-hesap__kart-islem form { margin: 0; }
.cy-hesap__kutu--tehlike { border-color: var(--cy-danger-soft, #fecaca); }
.cy-hesap__bos { padding: 2.5rem 1rem; text-align: center; border: 1px dashed var(--cy-border); border-radius: var(--cy-mg-radius); }

.cy-adres-formu:not(.is-kurumsal) .cy-adres-formu__kurumsal { display: none; }
.cy-adres-formu.is-kurumsal .cy-adres-formu__bireysel { display: none; }

.cy-uyelik-cagri .cy-home-container { max-width: 760px; }

/* ---------- sepet ---------- */
.cy-sepet__duzen { display: grid; gap: 1.5rem; }
@media (min-width: 992px) { .cy-sepet__duzen { grid-template-columns: minmax(0, 1fr) 360px; gap: 2.5rem; align-items: start; } }
.cy-sepet__liste { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--cy-border); }
.cy-sepet__satir { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: .9rem; padding: 1rem 0; border-bottom: 1px solid var(--cy-border); }
.cy-sepet__gorsel { display: block; width: 84px; aspect-ratio: var(--cy-mg-oran); overflow: hidden; border-radius: 10px; background: var(--cy-surface-soft, #f4f4f4); }
.cy-sepet__gorsel img { width: 100%; height: 100%; object-fit: cover; }
.cy-sepet__bilgi { display: grid; gap: .3rem; }
.cy-sepet__ad { margin: 0; font-size: 1rem; font-weight: 600; }
.cy-sepet__ad a { color: var(--cy-text); text-decoration: none; }
.cy-sepet__alt { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem; margin-top: .3rem; }
.cy-sepet__alt form { margin: 0; }
.cy-sepet__uyari { margin: 0; color: var(--cy-warning-text, #92400e); font-size: .85rem; }
.cy-sepet__ozet, .cy-odeme__ozet { padding: 1.25rem; border: 1px solid var(--cy-border); border-radius: var(--cy-mg-radius); background: var(--cy-surface); }
@media (min-width: 992px) { .cy-sepet__ozet, .cy-odeme__ozet { position: sticky; top: calc(var(--cy-site-nav-h, 72px) + 1rem); } }
.cy-ozet-satir { display: flex; justify-content: space-between; gap: 1rem; margin: 0 0 .5rem; }
.cy-ozet-satir--indirim { color: var(--cy-mg-indirim); }
.cy-ozet-satir--toplam { margin: .75rem 0 0; padding-top: .75rem; border-top: 1px solid var(--cy-border); font-size: 1.15rem; font-weight: 700; }
.cy-kargo-ilerleme { margin: 0 0 1rem; padding: .75rem; border-radius: 10px; background: var(--cy-brand-50); font-size: .875rem; }
.cy-kargo-ilerleme__cubuk { height: 6px; margin-top: .5rem; overflow: hidden; border-radius: 3px; background: var(--cy-surface); }
.cy-kargo-ilerleme__dolu { display: block; height: 100%; width: 0; border-radius: 3px; background: var(--cy-brand-600); transition: width .4s ease; }
.cy-kupon { display: flex; gap: .4rem; margin: 1rem 0; }

/* ---------- ödeme adımı ---------- */
.cy-odeme__adim { margin: 0 0 1.25rem; padding: 1.25rem; border: 1px solid var(--cy-border); border-radius: var(--cy-mg-radius); background: var(--cy-surface); }
.cy-odeme__adim > legend, .cy-odeme__adim-baslik { float: none; display: flex; align-items: center; gap: .6rem; width: auto; margin: 0 0 1rem; font-size: 1.1rem; font-weight: 700; }
.cy-odeme__no { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--cy-brand-600); color: #fff; font-size: .875rem; }
.cy-odeme__secenekler { display: grid; gap: .6rem; }
.cy-odeme__secenek { position: relative; display: flex; align-items: flex-start; gap: .75rem; padding: .9rem 1rem; border: 1px solid var(--cy-border); border-radius: 12px; cursor: pointer; }
.cy-odeme__secenek input { margin-top: .2rem; }
.cy-odeme__secenek:has(input:checked) { border-color: var(--cy-brand-600); background: var(--cy-brand-50); }
.cy-odeme__secenek-ad { font-weight: 600; }
.cy-odeme__secenek-fiyat { margin-left: auto; font-weight: 600; white-space: nowrap; }
.cy-odeme__sozlesme { max-height: 180px; overflow-y: auto; margin: .5rem 0 1rem; padding: .75rem 1rem; border: 1px solid var(--cy-border); border-radius: 10px; background: var(--cy-surface-soft, #f8f8f8); font-size: .8125rem; }
.cy-odeme__kalem { display: flex; gap: .6rem; margin: 0 0 .6rem; font-size: .875rem; }
.cy-odeme__kalem img { width: 48px; height: 60px; object-fit: cover; border-radius: 6px; }
.cy-odeme__kalem-ad { flex: 1; }
.cy-odeme__guvenli { display: flex; align-items: center; gap: .4rem; justify-content: center; margin: .75rem 0 0; color: var(--cy-text-muted); font-size: .8125rem; }
.cy-odeme__iframe { width: 100%; min-height: 620px; border: 0; }
.cy-odeme__kart-sayfa { max-width: 760px; }
.cy-dar { max-width: 540px; }

/* ---------- sipariş ---------- */
.cy-siparis-durum { display: inline-block; padding: .2rem .65rem; border-radius: 999px; background: var(--cy-brand-100); color: var(--cy-brand-text); font-size: .8125rem; font-weight: 600; }
.cy-siparis-durum--odeme_bekleniyor { background: var(--cy-warning-soft, #fef3c7); color: var(--cy-warning-text, #92400e); }
.cy-siparis-durum--kargoda { background: var(--cy-info-soft, #dbeafe); color: var(--cy-info-text, #1e40af); }
.cy-siparis-durum--teslim_edildi { background: var(--cy-success-soft, #dcfce7); color: var(--cy-success, #166534); }
.cy-siparis-durum--iptal, .cy-siparis-durum--iade_edildi { background: var(--cy-danger-soft, #fee2e2); color: var(--cy-danger-text, #991b1b); }
.cy-zaman { margin: 0; padding: 0; list-style: none; border-left: 2px solid var(--cy-border); }
.cy-zaman li { position: relative; margin: 0 0 1rem; padding-left: 1.1rem; }
.cy-zaman li::before { content: ""; position: absolute; left: -7px; top: .35rem; width: 12px; height: 12px; border-radius: 50%; background: var(--cy-brand-600); box-shadow: 0 0 0 3px var(--cy-surface); }
.cy-siparis-liste { display: grid; gap: .9rem; }
.cy-siparis-kart { display: grid; gap: .5rem; padding: 1rem 1.25rem; border: 1px solid var(--cy-border); border-radius: var(--cy-mg-radius); background: var(--cy-surface); color: var(--cy-text); text-decoration: none; }
.cy-siparis-kart:hover { border-color: var(--cy-brand-400); }
.cy-siparis-kart__ust { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; }
.cy-siparis-kart__gorseller { display: flex; gap: .4rem; }
.cy-siparis-kart__gorseller img { width: 44px; height: 55px; object-fit: cover; border-radius: 6px; }
.cy-tesekkur { max-width: 720px; margin: 0 auto; text-align: center; }
.cy-tesekkur__ikon { display: inline-grid; place-items: center; width: 72px; height: 72px; margin-bottom: 1rem; border-radius: 50%; background: var(--cy-success-soft, #dcfce7); color: var(--cy-success, #166534); }
.cy-tesekkur__ikon .cy-icon { width: 36px; height: 36px; }
.cy-banka { text-align: left; }
.cy-banka__iban { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 1rem; letter-spacing: .04em; word-break: break-all; }

@media (prefers-reduced-motion: reduce) {
    .cy-urun-kart__gorsel img, .cy-kategori-kart img, .cy-kargo-ilerleme__dolu { transition: none; }
}

/* ---------- sepete eklendi kutusu (ürün sayfasında kalınır) ---------- */
.cy-sepet-bildirim { position: fixed; z-index: 1060; top: calc(var(--cy-site-nav-h, 72px) + .75rem); right: 1rem; width: min(360px, calc(100vw - 2rem)); padding: 1rem; border: 1px solid var(--cy-border); border-radius: var(--cy-mg-radius); background: var(--cy-surface); color: var(--cy-text); box-shadow: 0 18px 50px rgba(0, 0, 0, .16); opacity: 0; transform: translateY(-10px); pointer-events: none; transition: opacity .2s, transform .2s; }
.cy-sepet-bildirim.is-acik { opacity: 1; transform: none; pointer-events: auto; }
.cy-sepet-bildirim__ust { display: flex; align-items: center; gap: .5rem; margin-bottom: .75rem; }
.cy-sepet-bildirim__tik { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #1f8a4c; color: #fff; font-size: .8rem; font-weight: 700; }
.cy-sepet-bildirim__kapat { margin-left: auto; width: 32px; height: 32px; border: 0; border-radius: 50%; background: none; color: var(--cy-text-muted); font-size: 1.4rem; line-height: 1; }
.cy-sepet-bildirim__kapat:hover { background: var(--cy-surface-soft, #f4f4f4); }
.cy-sepet-bildirim__urun { display: flex; gap: .75rem; align-items: center; margin-bottom: .9rem; }
.cy-sepet-bildirim__urun img { width: 56px; height: 70px; object-fit: cover; border-radius: 8px; background: var(--cy-surface-soft, #f4f4f4); }
.cy-sepet-bildirim__ad { margin: 0; font-weight: 600; line-height: 1.3; }
.cy-sepet-bildirim__secenek { margin: .15rem 0 0; color: var(--cy-text-muted); font-size: .875rem; }
.cy-sepet-bildirim__dugmeler { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.cy-sepet-bildirim__dugmeler .btn { min-height: 42px; }
@media (max-width: 575.98px) {
    .cy-sepet-bildirim { top: auto; bottom: calc(1rem + env(safe-area-inset-bottom)); right: 1rem; left: 1rem; width: auto; transform: translateY(10px); }
}
.cy-nav-arac.is-zipla .cy-nav-arac__sayi { animation: cy-zipla .45s ease; }
@keyframes cy-zipla { 0% { transform: scale(1); } 40% { transform: scale(1.45); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .cy-sepet-bildirim { transition: none; } .cy-nav-arac.is-zipla .cy-nav-arac__sayi { animation: none; } }

/* ---------- değerlendirmeler ---------- */
.cy-yorumlar { margin-top: 3.5rem; padding-top: 2.5rem; border-top: 1px solid var(--cy-border); scroll-margin-top: calc(var(--cy-site-nav-h, 72px) + 1rem); }
.cy-yorumlar__bas { margin-bottom: 1.5rem; }
.cy-yorumlar__duzen { display: grid; gap: 2rem; }
@media (min-width: 992px) { .cy-yorumlar__duzen { grid-template-columns: 280px minmax(0, 1fr); gap: 3rem; align-items: start; } .cy-yorumlar__ozet { position: sticky; top: calc(var(--cy-site-nav-h, 72px) + 1rem); } }
.cy-yorumlar__ozet { padding: 1.25rem; border-radius: var(--cy-mg-radius); background: var(--cy-surface-soft, #f6f6f6); }
.cy-yorumlar__ortalama { display: flex; align-items: baseline; gap: .3rem; margin: 0 0 .25rem; }
.cy-yorumlar__ortalama strong { font-size: 2.6rem; font-weight: 800; line-height: 1; letter-spacing: -.02em; }
.cy-yorumlar__ortalama span { color: var(--cy-text-muted); }
.cy-yorumlar__dagilim { display: grid; gap: .3rem; margin: .9rem 0 0; padding: 0; list-style: none; font-size: .8125rem; }
.cy-yorumlar__dagilim li { display: grid; grid-template-columns: 2.4rem 1fr 1.6rem; align-items: center; gap: .5rem; }
.cy-yorumlar__dagilim li > :last-child { text-align: right; }
.cy-yorumlar__cubuk { appearance: none; width: 100%; height: 6px; border: 0; border-radius: 3px; background: var(--cy-border); overflow: hidden; }
.cy-yorumlar__cubuk::-webkit-progress-bar { background: var(--cy-border); border-radius: 3px; }
.cy-yorumlar__cubuk::-webkit-progress-value { background: #e0a100; border-radius: 3px; }
.cy-yorumlar__cubuk::-moz-progress-bar { background: #e0a100; border-radius: 3px; }
.cy-yorumlar__not { display: flex; gap: .4rem; align-items: center; margin: 0; color: var(--cy-text-muted); }
.cy-yorumlar__liste { display: grid; gap: 0; }
.cy-yorum { padding: 1.25rem 0; border-bottom: 1px solid var(--cy-border); }
.cy-yorum:first-child { padding-top: 0; }
.cy-yorum__bas { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .75rem; margin-bottom: .4rem; }
.cy-yorum__baslik { margin: 0; font-size: 1rem; font-weight: 700; }
.cy-yorum__metin { margin: 0 0 .5rem; line-height: 1.65; }
.cy-yorum__kim { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .75rem; margin: 0; font-size: .8125rem; }
.cy-yorum__alici { display: inline-flex; align-items: center; gap: .2rem; color: #1f7a45; font-weight: 600; }
.cy-yorum__alici .cy-icon { width: 14px; height: 14px; }
.cy-yorum__yanit { margin-top: .75rem; padding: .75rem 1rem; border-left: 3px solid var(--cy-text); border-radius: 0 10px 10px 0; background: var(--cy-surface-soft, #f6f6f6); font-size: .9rem; }
.cy-yorum__yanit strong { display: block; margin-bottom: .2rem; font-size: .8125rem; }

/* Yıldızlar: tek renkli; yarım yıldız soldan yarısı dolu. */
.cy-yildizlar { display: inline-flex; gap: 2px; vertical-align: middle; }
.cy-yildiz { position: relative; display: inline-block; width: 16px; height: 16px; background: var(--cy-border); clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); }
.cy-yildiz.is-dolu { background: #e0a100; }
.cy-yildiz.is-yarim { background: linear-gradient(90deg, #e0a100 50%, var(--cy-border) 50%); }
.cy-yildizlar--buyuk .cy-yildiz { width: 22px; height: 22px; }

/* Puan seçimi: sağdan sola sıralı radyolar; üzerine gelinen ve solundakiler dolar. */
.cy-yorum-formu { margin-top: 1.5rem; padding: 1.25rem; border: 1px solid var(--cy-border); border-radius: var(--cy-mg-radius); scroll-margin-top: calc(var(--cy-site-nav-h, 72px) + 1rem); }
.cy-yorum-formu > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 44px; cursor: pointer; list-style: none; font-weight: 600; }
.cy-yorum-formu > summary::-webkit-details-marker { display: none; }
.cy-yorum-formu > summary::after { content: "+"; font-size: 1.25rem; font-weight: 400; line-height: 1; }
.cy-yorum-formu[open] > summary::after { content: "−"; }
.cy-puan-sec { margin: 0; padding: 0; border: 0; }
.cy-puan-sec__yildizlar { display: inline-flex; flex-direction: row-reverse; gap: .2rem; }
.cy-puan-sec__yildizlar input { position: absolute; opacity: 0; pointer-events: none; }
.cy-puan-sec__yildizlar label { font-size: 2rem; line-height: 1; color: var(--cy-border); cursor: pointer; transition: color .1s; }
.cy-puan-sec__yildizlar label:hover, .cy-puan-sec__yildizlar label:hover ~ label,
.cy-puan-sec__yildizlar input:checked ~ label { color: #e0a100; }
.cy-puan-sec__yildizlar input:focus-visible + label { outline: 2px solid var(--cy-focus, var(--cy-brand-600)); outline-offset: 2px; border-radius: 4px; }

/* ---------- arama önerileri ---------- */
.cy-oneri-kok { position: relative; }
.cy-oneri { position: absolute; z-index: 1070; top: calc(100% + .4rem); left: 0; width: max(100%, 340px); max-height: min(70vh, 520px); overflow-y: auto; padding: .4rem; border: 1px solid var(--cy-border); border-radius: 12px; background: var(--cy-surface); color: var(--cy-text); box-shadow: 0 18px 50px rgba(0, 0, 0, .14); text-align: left; }
.cy-oneri__baslik { padding: .55rem .6rem .3rem; font-size: .6875rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--cy-text-muted); }
.cy-oneri a { display: flex; align-items: center; gap: .7rem; padding: .45rem .6rem; border-radius: 8px; color: var(--cy-text); text-decoration: none; font-size: .875rem; }
.cy-oneri a:hover, .cy-oneri a[aria-selected="true"] { background: var(--cy-surface-soft, #f4f4f4); }
.cy-oneri__urun img { flex-shrink: 0; width: 44px; height: 55px; object-fit: cover; border-radius: 6px; background: var(--cy-surface-soft, #f4f4f4); }
.cy-oneri__ad { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cy-oneri__fiyat { flex-shrink: 0; font-weight: 600; white-space: nowrap; }
.cy-oneri__fiyat del { font-weight: 400; color: var(--cy-text-muted); font-size: .8em; }
.cy-oneri__kategori::before { content: "→"; color: var(--cy-text-muted); }
.cy-oneri__tumu { justify-content: center; margin-top: .25rem; border-top: 1px solid var(--cy-border); border-radius: 0 0 8px 8px !important; font-weight: 600; }
@media (max-width: 991.98px) { .cy-oneri { width: 100%; } }

/* ---------- Hesabım: profil şeridi ---------- */
.cy-hesap__profil { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.25rem; margin: 0 0 1.5rem; padding: 1.25rem 1.4rem; border: 1px solid var(--cy-border); border-radius: var(--cy-mg-radius); background: var(--cy-surface); }
.cy-hesap__avatar { display: grid; place-items: center; flex-shrink: 0; width: 56px; height: 56px; border-radius: 50%; background: var(--cy-text); color: var(--cy-surface); font-size: 1.1rem; font-weight: 600; letter-spacing: .04em; }
.cy-hesap__kimlik { flex: 1 1 220px; min-width: 0; }
.cy-hesap__ad { margin: 0 0 .15rem; font-size: 1.15rem; font-weight: 600; }
.cy-hesap__sayilar { display: flex; flex-wrap: wrap; gap: .5rem 2rem; margin: 0; }
.cy-hesap__sayilar > div { min-width: 5.5rem; }
.cy-hesap__sayilar dt { color: var(--cy-text-muted); font-size: .75rem; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.cy-hesap__sayilar dd { margin: .15rem 0 0; font-size: 1.25rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.cy-hesap__sayilar dd a { color: inherit; text-decoration: none; border-bottom: 1px solid var(--cy-border); }
.cy-hesap__sayilar dd a:hover { border-color: currentColor; }
@media (max-width: 575.98px) { .cy-hesap__sayilar { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; } }

/* ---------- ürün sayfası: görselli seçenek ve açılır liste ---------- */
.cy-secenek__degerler.is-gorsel .cy-secenek__deger { width: 60px; height: 60px; min-width: 0; padding: 2px; overflow: hidden; }
.cy-secenek__degerler.is-gorsel .cy-secenek__deger img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 7px; }
.cy-secenek__liste { max-width: 320px; min-height: 46px; }
.cy-secim__gorsel { width: 20px; height: 20px; flex-shrink: 0; object-fit: cover; border-radius: 50%; }

/* ---------- Hesabım → Yorumlarım ---------- */
.cy-yorumlarim { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.cy-yorumlarim__oge { display: flex; gap: 1rem; padding: 1rem; border: 1px solid var(--cy-border); border-radius: var(--cy-mg-radius, 12px); background: var(--cy-surface); }
.cy-yorumlarim__gorsel { display: grid; place-items: center; flex-shrink: 0; width: 64px; height: 80px; overflow: hidden; border-radius: 8px; background: var(--cy-surface-soft, #f4f4f4); color: var(--cy-text-muted); }
.cy-yorumlarim__gorsel img { width: 100%; height: 100%; object-fit: cover; }
.cy-yorumlarim__govde { flex: 1 1 auto; min-width: 0; }
.cy-yorumlarim__ust { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .35rem .75rem; }
.cy-yorumlarim__urun { margin: 0; font-size: 1rem; font-weight: 600; }
.cy-yorumlarim__urun a { color: inherit; text-decoration: none; }
.cy-yorumlarim__urun a:hover, .cy-yorumlarim__urun a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.cy-yorumlarim__durum { display: inline-block; padding: .15rem .6rem; border-radius: 999px; font-size: .75rem; font-weight: 600; white-space: nowrap; }
.cy-yorumlarim__durum--bekliyor { background: #fff4d6; color: #7a5300; }
.cy-yorumlarim__durum--yayinda { background: #e3f4e8; color: #1d6b39; }
.cy-yorumlarim__durum--gizli { background: var(--cy-surface-soft, #f1f1f1); color: var(--cy-text-muted); }
.cy-yorumlarim__puan { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: .25rem 0 .4rem; }
.cy-yorumlarim__yildiz { color: #c98a00; letter-spacing: .05em; }
.cy-yorumlarim__baslik { margin: 0 0 .2rem; font-weight: 600; }
.cy-yorumlarim__metin { margin: 0 0 .5rem; overflow-wrap: anywhere; }
.cy-yorumlarim__yanit { margin-top: .5rem; padding: .6rem .8rem; border-left: 3px solid var(--cy-border); border-radius: 0 8px 8px 0; background: var(--cy-surface-soft, #f6f6f6); font-size: .9375rem; }
@media (max-width: 575.98px) { .cy-yorumlarim__oge { padding: .85rem; gap: .75rem; } .cy-yorumlarim__gorsel { width: 52px; height: 65px; } }

/* ---------- ana sayfa yorum şeridi ("Müşterilerimiz ne diyor?") ----------
   Yatay scroll-snap şerit: telefonda 1 kart + bir sonrakinin ucu, tablette 2, masaüstünde 3. Betiksiz de kayar
   (kaydırma çubuğu ince); magaza.js .is-hazir verince çubuk gizlenir, oklar/noktalar ve kendiliğinden ilerleme gelir.
   Kart görünüşü temanındır: buradaki kart kuralları :where() ile sıfır özgüllüktedir, tema her zaman ezer. */
.cy-yorum-serit { --serit-bosluk: 1rem; --serit-kart: 86%; position: relative; }
.cy-urun-yorumlar__serit { display: flex; gap: var(--serit-bosluk); margin: 0; padding: .25rem 0 .75rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: thin; }
.cy-urun-yorumlar__serit > * { flex: 0 0 var(--serit-kart); min-width: 0; scroll-snap-align: start; }
.cy-urun-yorumlar__serit:focus-visible { outline: 2px solid var(--cy-focus, var(--cy-brand-600)); outline-offset: 4px; border-radius: 4px; }
.cy-yorum-serit.is-hazir .cy-urun-yorumlar__serit { scrollbar-width: none; }
.cy-yorum-serit.is-hazir .cy-urun-yorumlar__serit::-webkit-scrollbar { display: none; }
@media (min-width: 768px) { .cy-yorum-serit { --serit-bosluk: 1.25rem; --serit-kart: calc((100% - var(--serit-bosluk)) / 2); } }
@media (min-width: 992px) { .cy-yorum-serit { --serit-kart: calc((100% - 2 * var(--serit-bosluk)) / 3); } }
:where(.cy-urun-yorumlar__kart) { display: flex; flex-direction: column; gap: .8rem; margin: 0; padding: 1.25rem; border: 1px solid var(--cy-border); border-radius: var(--cy-mg-radius, 12px); background: var(--cy-surface); }
:where(.cy-urun-yorumlar__kart blockquote) { flex: 1; margin: 0; }
:where(.cy-urun-yorumlar__yildiz) { color: #b8860b; }
:where(.cy-urun-yorumlar__yildiz span) { opacity: .3; }
:where(.cy-urun-yorumlar__urun) { display: flex; align-items: center; gap: .7rem; color: inherit; text-decoration: none; }
:where(.cy-urun-yorumlar__urun img) { width: 40px; height: 50px; object-fit: cover; border-radius: 6px; }
.cy-yorum-serit__denetim { display: flex; align-items: center; justify-content: center; gap: .6rem; margin-top: .75rem; }
.cy-yorum-serit__denetim[hidden] { display: none; }
.cy-yorum-serit__dugme { display: inline-grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid var(--cy-border); border-radius: 50%; background: var(--cy-surface); color: var(--cy-text); cursor: pointer; transition: border-color .15s, opacity .15s; }
.cy-yorum-serit__dugme:hover:not(:disabled) { border-color: var(--cy-text); }
.cy-yorum-serit__dugme:focus-visible { outline: 2px solid var(--cy-focus, var(--cy-brand-600)); outline-offset: 2px; }
.cy-yorum-serit__dugme:disabled { opacity: .35; cursor: default; }
.cy-yorum-serit__dugme[hidden] { display: none; }
.cy-yorum-serit__dugme--geri .cy-icon { transform: scaleX(-1); }
.cy-yorum-serit__dugme--oynat { width: 34px; height: 34px; margin-left: .25rem; border-color: transparent; color: var(--cy-text-muted); }
.cy-yorum-serit__dugme--oynat .is-oynat, .cy-yorum-serit__dugme--oynat[aria-pressed="true"] .is-durdur { display: none; }
.cy-yorum-serit__dugme--oynat[aria-pressed="true"] .is-oynat { display: inline-flex; }
.cy-yorum-serit__noktalar { display: flex; align-items: center; gap: .15rem; }
.cy-yorum-serit__nokta { display: inline-grid; place-items: center; width: 24px; height: 24px; padding: 0; border: 0; background: none; cursor: pointer; }
.cy-yorum-serit__nokta::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--cy-border); transition: background-color .2s, transform .2s; }
.cy-yorum-serit__nokta[aria-current="true"]::before { background: var(--cy-text); transform: scale(1.25); }
.cy-yorum-serit__nokta:focus-visible { outline: 2px solid var(--cy-focus, var(--cy-brand-600)); outline-offset: 1px; border-radius: 50%; }
@media (prefers-reduced-motion: reduce) {
    .cy-urun-yorumlar__serit { scroll-behavior: auto; }
    .cy-yorum-serit__nokta::before { transition: none; }
}

/* ---------- favori kalbi (Urunler::site/_favori, 31.10.2026) ---------- */
.cy-favori-form { margin: 0; }
.cy-urun-kart > .cy-favori-form { position: absolute; z-index: 3; top: .55rem; right: .55rem; }
.cy-favori { display: inline-grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--cy-text); box-shadow: 0 4px 14px -6px rgba(0, 0, 0, .35); cursor: pointer; transition: transform .2s ease, color .2s ease; }
.cy-favori .cy-icon { width: 20px; height: 20px; }
.cy-favori:hover { color: var(--cy-mg-indirim); }
.cy-favori:focus-visible { outline: 2px solid var(--cy-focus, var(--cy-brand-600)); outline-offset: 2px; }
.cy-favori.is-favori { color: var(--cy-mg-indirim); }
.cy-favori.is-favori .cy-icon { fill: currentColor; }
.cy-favori.is-zipla { animation: cy-favori-zipla .35s ease; }
@keyframes cy-favori-zipla { 50% { transform: scale(1.22); } }
.cy-favori--buyuk { flex: 0 0 auto; width: 48px; height: 48px; border: 1px solid var(--cy-border); background: var(--cy-surface); box-shadow: none; }
@media (prefers-reduced-motion: reduce) { .cy-favori.is-zipla { animation: none; } }

/* ---------- telefonun alt menüsü (partials/mobil-alt-menu) ---------- */
.cy-alt-menu { transition: transform .2s ease; position: fixed; z-index: 1035; left: 0; right: 0; bottom: 0; display: flex; justify-content: space-around; padding: .3rem .25rem calc(.3rem + env(safe-area-inset-bottom)); border-top: 1px solid var(--cy-border); background: var(--cy-surface); box-shadow: 0 -8px 24px -16px rgba(0, 0, 0, .35); }
.cy-alt-menu__oge { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: .15rem; min-width: 0; min-height: 52px; padding: .3rem .15rem; color: var(--cy-text-muted); font-size: .6875rem; font-weight: 600; text-decoration: none; }
.cy-alt-menu__oge:hover { color: var(--cy-text); }
.cy-alt-menu__oge.is-aktif { color: var(--cy-brand-text, var(--cy-brand-600)); }
.cy-alt-menu__ikon { position: relative; display: inline-grid; place-items: center; }
.cy-alt-menu__ikon .cy-icon { width: 24px; height: 24px; }
.cy-alt-menu__oge.is-aktif .cy-icon { stroke-width: 2.2; }
.cy-alt-menu__sayi { position: absolute; top: -6px; right: -12px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--cy-mg-indirim); color: #fff; font-size: .625rem; font-weight: 700; line-height: 18px; text-align: center; }
.cy-alt-menu__ad { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cy-alt-menu__oge:focus-visible { outline: 2px solid var(--cy-focus, var(--cy-brand-600)); outline-offset: -2px; border-radius: 10px; }
@media (max-width: 991.98px) {
    body:has(.cy-alt-menu) { padding-bottom: calc(62px + env(safe-area-inset-bottom)); }
    /* Yapışkan "Sepete ekle", yüzen WhatsApp ve "başa dön" menünün üstüne çıkar. */
    body:has(.cy-alt-menu) .cy-urun__yapiskan { bottom: calc(62px + env(safe-area-inset-bottom)); }
    /* Yapışkan "Sepete ekle" görünürken alt menü çekilir: üst menü + çubuk + alt menü ekranın dörtte birini kaplıyordu (T25) */
    body:has(.cy-alt-menu):has(.cy-urun__yapiskan:not([hidden])) .cy-alt-menu { transform: translateY(100%); }
    body:has(.cy-alt-menu):has(.cy-urun__yapiskan:not([hidden])) .cy-urun__yapiskan { bottom: 0; }
    body:has(.cy-alt-menu) .cy-whatsapp-fab { bottom: calc(76px + env(safe-area-inset-bottom)); }
    body:has(.cy-alt-menu) .cy-yukari { bottom: calc(136px + env(safe-area-inset-bottom)); }
    body:has(.cy-alt-menu) .cy-sahip { bottom: calc(70px + env(safe-area-inset-bottom)); }   /* sahibin düzenleme çubuğu */
    body:has(.cy-alt-menu):has(.cy-urun__yapiskan:not([hidden])) .cy-sahip { bottom: calc(134px + env(safe-area-inset-bottom)); }
}

/* ---------- "Son gezdiğiniz ürünler" şeridi (urunler-son-bakilan) ---------- */
.cy-urun-serit { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 4 * 1.25rem) / 4.5); gap: 1.25rem; overflow-x: auto; padding-bottom: .5rem; scroll-snap-type: x mandatory; scrollbar-width: thin; overscroll-behavior-x: contain; }
.cy-urun-serit > * { scroll-snap-align: start; }
.cy-urun-serit:focus-visible { outline: 2px solid var(--cy-focus, var(--cy-brand-600)); outline-offset: 4px; border-radius: 6px; }
@media (max-width: 991.98px) { .cy-urun-serit { grid-auto-columns: calc((100% - 2 * .9rem) / 2.6); gap: .9rem; } }
@media (max-width: 575.98px) { .cy-urun-serit { grid-auto-columns: 44%; } }

/* Dokunma hedefleri (canlı demo ölçümü, 31.10.2026): yol bağlantıları 21 px, kart kalbi 38 px idi. */
@media (max-width: 991.98px) {
    .cy-yol a { display: inline-flex; align-items: center; min-height: 32px; }
    .cy-favori { width: 42px; height: 42px; }
}

/* Dijital hizmet: müşterinin yazdığı hesap / bağlantı (ürün sayfası, sepet, ödeme, sipariş) */
.cy-urun__ek-bilgi { margin: 1rem 0 1.1rem; }
.cy-urun__ek-bilgi .form-text { margin-top: .35rem; }
.cy-kalem-ek { color: var(--cy-primary, currentColor); font-weight: 600; overflow-wrap: anywhere; }
