/*
 * Temel tema (sözleşme teması) — themes/SOZLESME.md. Yalnız token (CSS değişkeni) kullanır: renk/köşe/gölge/font değerleri
 * theme.json ya da panelden gelir; burada sabit renk yazılmaz (yalnız token yoksa diye yedek değerler).
 * Mobil önce: taban stiller dar ekran içindir, @media (min-width) ile genişler. Görsel temalar bu dosyanın üstüne kendi CSS'ini ekler.
 */

/* ---------- Taban ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; color-scheme: light; }
html[data-mod="koyu"] { color-scheme: dark; }
body.epin {
    margin: 0; min-height: 100vh; display: flex; flex-direction: column;
    background: var(--renk-zemin, #F6F7F9); color: var(--renk-metin, #14181F);
    font-family: var(--font-govde, system-ui, sans-serif); font-size: 1rem; line-height: 1.55;
}
.epin img { max-width: 100%; height: auto; }
.epin a { color: var(--renk-ana); text-underline-offset: 2px; }
.epin a:hover { text-decoration-thickness: 2px; }
.epin h1, .epin h2, .epin h3 { font-family: var(--font-baslik); line-height: 1.25; margin: 0 0 .6em; }
.epin h1 { font-size: clamp(1.4rem, 1.1rem + 1.4vw, 2rem); }
.epin h2 { font-size: clamp(1.15rem, 1rem + .6vw, 1.4rem); }
.epin h3 { font-size: 1.05rem; }
.epin p { margin: 0 0 .8em; }
.epin small { color: var(--renk-metin-soluk); }
.epin code, .epin kbd { font-family: var(--font-rakam); }
.epin hr { border: 0; border-top: 1px solid var(--renk-kenar); margin: 24px 0; }
.epin :focus-visible { outline: 3px solid var(--renk-vurgu); outline-offset: 2px; }
.epin [hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) { .epin *, .epin *::before, .epin *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

.epin-skip { position: absolute; left: -9999px; }
.epin-skip:focus { left: 16px; top: 16px; background: var(--renk-yuzey); color: var(--renk-metin); padding: 8px 12px; z-index: 100; border-radius: var(--kose); }
.epin-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.epin-container, main#icerik { width: 100%; max-width: var(--kap-genislik, 1200px); margin: 0 auto; padding: 0 16px; }
main#icerik { flex: 1; padding-top: 16px; padding-bottom: 32px; }
.epin-empty { padding: 24px; text-align: center; color: var(--renk-metin-soluk); background: var(--renk-yuzey); border: 1px dashed var(--renk-kenar); border-radius: var(--kose-kart); }

/* ---------- Form ögeleri (tüm görünümlerde çıplak etiketler biçimlenir) ---------- */
.epin input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), .epin select, .epin textarea {
    width: 100%; min-height: 44px; padding: 10px 12px; font: inherit; color: var(--renk-metin);
    background: var(--renk-yuzey); border: 1px solid var(--renk-alan-kenar, var(--renk-kenar)); border-radius: var(--kose);
}
.epin textarea { min-height: 120px; resize: vertical; }
.epin input:focus, .epin select:focus, .epin textarea:focus { border-color: var(--renk-ana); box-shadow: 0 0 0 3px color-mix(in srgb, var(--renk-ana) 25%, transparent); }
.epin input[type="checkbox"], .epin input[type="radio"] { width: 18px; height: 18px; accent-color: var(--renk-ana); flex: none; }
.epin label { display: block; margin: 0 0 12px; font-weight: 500; }
.epin label > input, .epin label > select, .epin label > textarea { margin-top: 4px; font-weight: 400; }
.epin label:has(> input[type="checkbox"]), .epin label:has(> input[type="radio"]) { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; }
.epin fieldset { border: 1px solid var(--renk-kenar); border-radius: var(--kose-kart); padding: 16px; margin: 0 0 16px; background: var(--renk-yuzey); }
.epin legend { font-weight: 600; padding: 0 6px; }

/* Düğmeler: .epin-button birincil; çıplak <button> ikincil görünür */
.epin button, .epin .epin-button {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 18px;
    font: inherit; font-weight: 600; cursor: pointer; text-decoration: none;
    color: var(--renk-metin); background: var(--renk-yuzey-2); border: 1px solid var(--renk-kenar); border-radius: var(--kose-dugme);
}
.epin .epin-button, .epin .epin-add__buy { color: var(--renk-ana-metin); background: var(--renk-ana); border-color: var(--renk-ana); }
.epin button:hover, .epin .epin-button:hover { filter: brightness(1.06); }
.epin button:disabled { opacity: .55; cursor: not-allowed; filter: none; }
.epin .epin-link { min-height: 0; padding: 0; background: none; border: 0; color: var(--renk-ana); font-weight: 500; text-decoration: underline; }
.epin .epin-cart__warn, .epin [role="alert"].epin-error { color: var(--renk-hata); font-size: .92rem; margin: 4px 0 8px; }

/* ---------- Duyuru, flash, çerez bandı ---------- */
.epin-announce { background: var(--renk-ana); color: var(--renk-ana-metin); text-align: center; padding: 8px 16px; font-size: .92rem; }
.epin-announce a { color: inherit; }
.epin-announce--uyari { background: var(--renk-uyari); }
.epin-flash { max-width: var(--kap-genislik); margin: 12px auto 0; padding: 0 16px; }
.epin-flash__item { margin: 0 0 8px; padding: 12px 14px; border-radius: var(--kose); border: 1px solid var(--renk-kenar); background: var(--renk-yuzey); border-left: 4px solid var(--renk-ana); }
.epin-flash__item--basari { border-left-color: var(--renk-basari); }
.epin-flash__item--uyari { border-left-color: var(--renk-uyari); }
.epin-flash__item--hata { border-left-color: var(--renk-hata); }
.epin-cookie { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 60; display: flex; flex-wrap: wrap; gap: 12px; align-items: center;
    padding: 14px 16px; background: var(--renk-yuzey); border: 1px solid var(--renk-kenar); border-radius: var(--kose-kart); box-shadow: var(--golge); }
.epin-cookie p { margin: 0; flex: 1 1 240px; font-size: .92rem; }
body.epin--alt-menu .epin-cookie { bottom: 76px; }

/* ---------- Üst bölüm ---------- */
.epin-header { position: sticky; top: 0; z-index: 40; background: var(--renk-yuzey); border-bottom: 1px solid var(--renk-kenar); }
.epin-header__bar { display: flex; align-items: center; gap: 12px; min-height: 60px; flex-wrap: wrap; padding-top: 8px; padding-bottom: 8px; }
.epin-logo { font-family: var(--font-baslik); font-weight: 700; font-size: 1.2rem; text-decoration: none; color: var(--renk-metin) !important; display: inline-flex; align-items: center; }
.epin-logo img { max-height: 40px; width: auto; }
.epin-logo__koyu { display: none; }
html[data-mod="koyu"] .epin-logo--cift .epin-logo__acik { display: none; }
html[data-mod="koyu"] .epin-logo--cift .epin-logo__koyu { display: inline; }
.epin-search { display: flex; gap: 6px; order: 3; flex: 1 1 100%; }
.epin-search input { min-height: 40px !important; }
.epin-search button { min-height: 40px; padding: 8px 14px; }
.epin-nav { display: flex; align-items: center; gap: 4px 14px; margin-left: auto; flex-wrap: wrap; }
.epin-nav a { text-decoration: none; color: var(--renk-metin); font-weight: 500; }
.epin-nav a:hover { color: var(--renk-ana); }
.epin-nav a.epin-nav__panel { padding: 6px 12px; border-radius: 999px; border: 1px solid var(--renk-ana); color: var(--renk-ana); }
.epin-nav__logout { display: inline; }
.epin-nav__count { display: inline-block; min-width: 20px; padding: 0 6px; margin-left: 4px; border-radius: 10px; background: var(--renk-ana); color: var(--renk-ana-metin); font-size: .78rem; text-align: center; }
.epin-mode { min-height: 36px !important; padding: 6px 10px !important; font-weight: 500 !important; }
.epin-menu { display: none; border-top: 1px solid var(--renk-kenar); }
.epin-menu ul { list-style: none; margin: 0 auto; padding: 0 16px; display: flex; gap: 4px 20px; flex-wrap: wrap; }
.epin-menu a { display: inline-block; padding: 10px 0; text-decoration: none; color: var(--renk-metin-soluk); font-weight: 500; }
.epin-menu a:hover, .epin-menu a[aria-current] { color: var(--renk-ana); }
@media (min-width: 768px) {
    .epin-search { order: 0; flex: 0 1 380px; margin-left: 12px; }
    .epin-menu { display: block; }
}

/* ---------- Alt bölüm ---------- */
.epin-footer { background: var(--renk-yuzey); border-top: 1px solid var(--renk-kenar); padding: 32px 0 24px; font-size: .94rem; color: var(--renk-metin-soluk); }
.epin-footer__cols { display: grid; gap: 24px; grid-template-columns: 1fr; }
.epin-footer h2 { font-size: 1rem; color: var(--renk-metin); }
.epin-footer ul { list-style: none; margin: 0; padding: 0; }
.epin-footer li { margin: 0 0 6px; }
.epin-footer a { color: var(--renk-metin-soluk); text-decoration: none; }
.epin-footer a:hover { color: var(--renk-ana); text-decoration: underline; }
.epin-footer__legal { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--renk-kenar); display: flex; flex-wrap: wrap; gap: 8px 16px; justify-content: space-between; }
.epin-footer__badges { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.epin-footer__badges img { height: 24px; width: auto; }
@media (min-width: 640px) { .epin-footer__cols { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .epin-footer__cols { grid-template-columns: 2fr 1fr 1fr 1fr; } }

/* ---------- Mobil alt menü ---------- */
.epin-mobile-nav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; display: grid; grid-template-columns: repeat(5, 1fr);
    background: var(--renk-yuzey); border-top: 1px solid var(--renk-kenar); padding-bottom: env(safe-area-inset-bottom); }
.epin-mobile-nav a { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 2px; min-height: 56px; font-size: .74rem; text-decoration: none; color: var(--renk-metin-soluk); }
.epin-mobile-nav a[aria-current] { color: var(--renk-ana); font-weight: 600; }
.epin-mobile-nav svg { width: 22px; height: 22px; }
body.epin--alt-menu { padding-bottom: 64px; }
@media (min-width: 768px) { .epin-mobile-nav { display: none; } body.epin--alt-menu { padding-bottom: 0; } body.epin--alt-menu .epin-cookie { bottom: 12px; } }

/* ---------- Yol, sayfalama, sekme, çip ---------- */
.epin-breadcrumb ol { list-style: none; display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 16px; padding: 0; font-size: .9rem; color: var(--renk-metin-soluk); }
.epin-breadcrumb li + li::before { content: "›"; margin-right: 4px; }
.epin-breadcrumb a { color: var(--renk-metin-soluk); }
.epin-pagination { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin: 24px 0; }
.epin-pagination a, .epin-pagination span { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 12px;
    border: 1px solid var(--renk-kenar); border-radius: var(--kose); background: var(--renk-yuzey); text-decoration: none; color: var(--renk-metin); }
.epin-pagination [aria-current] { background: var(--renk-ana); color: var(--renk-ana-metin); border-color: var(--renk-ana); font-weight: 600; }
.epin-tabs, .epin-account-nav { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: thin; margin: 0 0 16px; padding-bottom: 4px; }
.epin-tabs a, .epin-account-nav a { flex: none; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--renk-kenar); background: var(--renk-yuzey); text-decoration: none; color: var(--renk-metin); font-size: .92rem; }
.epin-account-nav a.epin-account-nav__panel { border-color: var(--renk-ana); color: var(--renk-ana); }
.epin-tabs a[aria-current], .epin-account-nav a[aria-current] { background: var(--renk-ana); color: var(--renk-ana-metin); border-color: var(--renk-ana); }
.epin-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0 0 16px; }
.epin-chips a { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: var(--renk-yuzey); border: 1px solid var(--renk-kenar); text-decoration: none; color: var(--renk-metin); }
.epin-filters { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; margin: 0 0 16px; }
.epin-filters label { margin: 0; flex: 1 1 160px; }

/* ---------- Ürün kartı ve ızgara ---------- */
.epin-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 16px; }
@media (min-width: 640px) { .epin-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
@media (min-width: 960px) { .epin-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .epin-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.epin-card { background: var(--renk-yuzey); border: 1px solid var(--renk-kenar); border-radius: var(--kose-kart); overflow: hidden; box-shadow: var(--golge); transition: transform .15s; }
.epin-card:hover { transform: translateY(-2px); }
.epin-card__link { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: inherit !important; }
.epin-card__media { position: relative; display: block; aspect-ratio: 1; background: var(--renk-yuzey-2); }
.epin-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.epin-card__placeholder { display: flex; align-items: center; justify-content: center; height: 100%; font-size: 2.6rem; font-weight: 700; color: var(--renk-metin-soluk); }
.epin-card__badge { position: absolute; top: 8px; left: 8px; padding: 2px 8px; border-radius: 999px; background: var(--renk-vurgu); color: var(--renk-ana-metin); font-size: .75rem; font-weight: 700; }
.epin-card__body { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px 12px; flex: 1; }
.epin-card__cat { font-size: .78rem; color: var(--renk-metin-soluk); text-transform: uppercase; letter-spacing: .03em; }
.epin-card__title { font-weight: 600; line-height: 1.3; }
.epin-card__note { font-size: .8rem; color: var(--renk-metin-soluk); }
.epin-price { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 6px; }
.epin-price__now { font-family: var(--font-rakam); font-weight: 700; color: var(--renk-metin); }
.epin-price__old { font-size: .85rem; color: var(--renk-metin-soluk); }
.epin-price__off { font-size: .78rem; font-weight: 700; color: var(--renk-indirim); }
.epin-stock { display: inline-block; width: fit-content; font-size: .78rem; font-weight: 600; padding: 1px 8px; border-radius: 999px; background: var(--renk-yuzey-2); color: var(--renk-basari); }
.epin-stock--az { color: var(--renk-uyari); }
.epin-stock--tukendi { color: var(--renk-hata); }

/* ---------- Kategori ve ürün sayfası ---------- */
.epin-cat-head { display: grid; gap: 8px; margin: 0 0 16px; }
.epin-cat-head__icon { border-radius: var(--kose); }
.epin-prose { max-width: 75ch; }
.epin-prose img { border-radius: var(--kose); }
.epin-prose table { border-collapse: collapse; }
.epin-prose td, .epin-prose th { border: 1px solid var(--renk-kenar); padding: 6px 10px; }
section.epin-prose { margin: 24px 0; padding: 16px; background: var(--renk-yuzey); border: 1px solid var(--renk-kenar); border-radius: var(--kose-kart); max-width: none; }
.epin-product { display: grid; gap: 20px; margin: 0 0 24px; }
.epin-product__media img { width: 100%; border-radius: var(--kose-kart); background: var(--renk-yuzey-2); }
.epin-product__ph { display: flex; align-items: center; justify-content: center; height: 140px; width: 100%; border-radius: var(--kose-kart); background: var(--renk-yuzey-2); font-size: 4rem; font-weight: 700; color: var(--renk-metin-soluk); }
.epin-product__lead { font-size: 1.05rem; color: var(--renk-metin-soluk); }
.epin-product__delivery { display: inline-block; padding: 6px 12px; border-radius: var(--kose); background: var(--renk-yuzey-2); font-size: .92rem; }
@media (min-width: 860px) { .epin-product { grid-template-columns: minmax(260px, 2fr) 3fr; align-items: start; } .epin-product__media { position: sticky; top: 140px; } }
.epin-variants { list-style: none; padding: 0; margin: 0 0 20px; display: grid; gap: 10px; }
.epin-variant { display: grid; gap: 8px; padding: 14px; background: var(--renk-yuzey); border: 1px solid var(--renk-kenar); border-radius: var(--kose-kart); }
.epin-variant__name { font-weight: 600; }
.epin-variant__badge { width: fit-content; font-size: .75rem; font-weight: 700; padding: 1px 8px; border-radius: 999px; background: var(--renk-vurgu); color: var(--renk-ana-metin); }
.epin-add { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; }
.epin-add__field { flex: 1 1 100%; margin: 0 !important; }
.epin-add__qty { flex: 0 0 96px; margin: 0 !important; }
.epin-add__cart, .epin-add__buy { flex: 1 1 120px; }
.epin-paymethods { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.epin-paymethods li { padding: 6px 12px; border: 1px solid var(--renk-kenar); border-radius: var(--kose); background: var(--renk-yuzey); font-size: .9rem; }
.epin-reviews { list-style: none; padding: 0; display: grid; gap: 12px; }
.epin-review { padding: 14px; background: var(--renk-yuzey); border: 1px solid var(--renk-kenar); border-radius: var(--kose-kart); }
.epin-review__head { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 6px; }
.epin-stars { color: var(--renk-vurgu); letter-spacing: 1px; }
.epin-review__reply { margin: 8px 0 0; padding: 8px 12px; border-left: 3px solid var(--renk-ana); background: var(--renk-yuzey-2); border-radius: 0 var(--kose) var(--kose) 0; }
.epin-faq details { background: var(--renk-yuzey); border: 1px solid var(--renk-kenar); border-radius: var(--kose); margin: 0 0 8px; }
.epin-faq summary { cursor: pointer; padding: 12px 14px; font-weight: 600; list-style-position: inside; }
.epin-faq details > div { padding: 0 14px 12px; }

/* ---------- Sepet ve ödeme ---------- */
.epin-cart { list-style: none; padding: 0; margin: 0 0 16px; display: grid; gap: 10px; }
.epin-cart__item { display: grid; grid-template-columns: 56px 1fr auto; gap: 8px 12px; align-items: center; padding: 12px; background: var(--renk-yuzey); border: 1px solid var(--renk-kenar); border-radius: var(--kose-kart); }
.epin-cart__item > img { width: 56px; height: 56px; object-fit: cover; border-radius: var(--kose); grid-row: span 2; }
.epin-cart__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.epin-cart__info a { font-weight: 600; }
.epin-cart__unit { font-family: var(--font-rakam); color: var(--renk-metin-soluk); font-size: .9rem; }
.epin-cart__qty { display: flex; gap: 6px; align-items: center; grid-column: 1 / -1; }
.epin-cart__qty label { margin: 0; flex: 0 0 90px; }
.epin-cart__total { font-family: var(--font-rakam); }
@media (min-width: 768px) { .epin-cart__item { grid-template-columns: 64px 1fr auto auto auto auto; } .epin-cart__item > img { grid-row: auto; width: 64px; height: 64px; } .epin-cart__qty { grid-column: auto; } }
.epin-cart--mini li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 12px; background: var(--renk-yuzey); border: 1px solid var(--renk-kenar); border-radius: var(--kose); }
.epin-cart__coupon { margin: 0 0 16px; }
.epin-cart__coupon form { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; }
.epin-cart__coupon label { margin: 0; flex: 1 1 200px; }
.epin-summary { display: grid; grid-template-columns: 1fr auto; gap: 6px 16px; margin: 0 0 16px; padding: 16px; background: var(--renk-yuzey); border: 1px solid var(--renk-kenar); border-radius: var(--kose-kart); }
.epin-summary dt { color: var(--renk-metin-soluk); }
.epin-summary dd { margin: 0; text-align: right; font-family: var(--font-rakam); }
.epin-checkout { max-width: 720px; }
.epin-methods { display: grid; gap: 8px; }
.epin-method { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px 10px !important; margin: 0 !important; padding: 12px; border: 1px solid var(--renk-kenar); border-radius: var(--kose); background: var(--renk-zemin); cursor: pointer; }
.epin-method:has(input:checked) { border-color: var(--renk-ana); box-shadow: inset 0 0 0 1px var(--renk-ana); }
.epin-method[aria-disabled="true"] { opacity: .6; cursor: not-allowed; }
.epin-method small { flex-basis: 100%; padding-left: 28px; }
.epin-consents { display: grid; gap: 4px; }
.epin-consents__item { font-size: .94rem; }
.epin-pay-frame { width: 100%; min-height: 640px; border: 0; border-radius: var(--kose-kart); background: var(--renk-yuzey); }
.epin-result { max-width: 640px; margin: 0 auto; padding: 24px; text-align: center; background: var(--renk-yuzey); border: 1px solid var(--renk-kenar); border-radius: var(--kose-kart); }
.epin-transfer__banks { list-style: none; padding: 0; display: grid; gap: 10px; }
.epin-transfer__banks li { padding: 12px; background: var(--renk-yuzey); border: 1px solid var(--renk-kenar); border-radius: var(--kose); word-break: break-word; }
.epin-transfer__code { font-family: var(--font-rakam); font-size: 1.2rem; font-weight: 700; letter-spacing: .05em; color: var(--renk-ana); }
.epin-transfer-form, .epin-topup { max-width: 560px; }
.epin-topup__option { display: inline-flex !important; margin: 0 8px 8px 0 !important; padding: 8px 14px; border: 1px solid var(--renk-kenar); border-radius: var(--kose); background: var(--renk-yuzey); }

/* ---------- Hesap ---------- */
.epin-auth { max-width: 440px; padding: 20px; background: var(--renk-yuzey); border: 1px solid var(--renk-kenar); border-radius: var(--kose-kart); box-shadow: var(--golge); }
.epin-auth .epin-button { width: 100%; }
.epin-summary-cards { list-style: none; padding: 0; margin: 0 0 20px; display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.epin-summary-cards li { padding: 14px; background: var(--renk-yuzey); border: 1px solid var(--renk-kenar); border-radius: var(--kose-kart); color: var(--renk-metin-soluk); }
.epin-summary-cards strong { display: block; font-size: 1.3rem; font-family: var(--font-rakam); color: var(--renk-metin); }
.epin-wallet__balance { font-family: var(--font-rakam); font-size: 1.8rem; font-weight: 700; }
.epin-table-wrap, .epin-table { width: 100%; }
.epin-table { border-collapse: collapse; background: var(--renk-yuzey); border: 1px solid var(--renk-kenar); border-radius: var(--kose-kart); overflow: hidden; font-size: .94rem; }
.epin-table th, .epin-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid var(--renk-kenar); vertical-align: top; }
.epin-table th { background: var(--renk-yuzey-2); font-weight: 600; }
.epin-table tr:last-child td { border-bottom: 0; }
@media (max-width: 639px) {
    .epin-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .epin-table, .epin-table tbody, .epin-table tr, .epin-table td { display: block; width: 100%; }
    .epin-table tr { border-bottom: 1px solid var(--renk-kenar); padding: 6px 0; }
    .epin-table td { border: 0; padding: 4px 12px; }
    .epin-table td[data-etiket]::before { content: attr(data-etiket) ": "; color: var(--renk-metin-soluk); }
}
.epin-order-item { padding: 16px; margin: 0 0 12px; background: var(--renk-yuzey); border: 1px solid var(--renk-kenar); border-radius: var(--kose-kart); }
.epin-order-item h2 { font-size: 1.05rem; }
.epin-code { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0; padding: 10px; background: var(--renk-yuzey-2); border-radius: var(--kose); }
.epin-code__value { flex: 1 1 200px; font-size: 1.05rem; letter-spacing: .04em; word-break: break-all; }
.epin-code__reveal, .epin-code__copy { min-height: 40px !important; padding: 6px 14px !important; }
.epin-codes { list-style: none; padding: 0; display: grid; gap: 10px; }
.epin-timeline { list-style: none; padding: 0 0 0 16px; margin: 16px 0; border-left: 2px solid var(--renk-kenar); }
.epin-timeline li { position: relative; margin: 0 0 10px; padding-left: 8px; }
.epin-timeline li::before { content: ""; position: absolute; left: -23px; top: 7px; width: 10px; height: 10px; border-radius: 50%; background: var(--renk-ana); }
.epin-timeline time { display: block; font-size: .82rem; color: var(--renk-metin-soluk); }
.epin-messages { list-style: none; padding: 0; display: grid; gap: 10px; margin: 0 0 16px; }
.epin-message { padding: 12px 14px; background: var(--renk-yuzey); border: 1px solid var(--renk-kenar); border-radius: var(--kose-kart); }
.epin-message--personel { border-left: 4px solid var(--renk-ana); }
.epin-message__body { white-space: pre-wrap; word-break: break-word; }
.epin-page { max-width: 820px; }

/* ---------- Ana sayfa bölümleri ---------- */
.epin-section { margin: 0 0 32px; }
.epin-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0 0 12px; }
.epin-section__head h2 { margin: 0; }
.epin-slider { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; border-radius: var(--kose-kart); }
.epin-slider::-webkit-scrollbar { display: none; }
.epin-slide { margin: 0; position: relative; scroll-snap-align: start; border-radius: var(--kose-kart); overflow: hidden; background: var(--renk-yuzey-2); }
.epin-slide img { display: block; width: 100%; aspect-ratio: 16 / 7; object-fit: cover; }
.epin-slide__text { position: absolute; left: 0; right: 0; bottom: 0; padding: 16px; color: #fff; background: linear-gradient(transparent, rgba(0,0,0,.65)); }
.epin-slide__text strong { display: block; font-size: 1.2rem; }
@media (min-width: 960px) { .epin-slider--coklu { grid-auto-columns: calc(50% - 6px); } }
.epin-games { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (min-width: 640px) { .epin-games { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 960px) { .epin-games { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.epin-games a { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px; text-align: center; text-decoration: none; color: var(--renk-metin); background: var(--renk-yuzey); border: 1px solid var(--renk-kenar); border-radius: var(--kose-kart); font-weight: 600; font-size: .9rem; }
.epin-games img, .epin-games .epin-games__ph { width: 64px; height: 64px; border-radius: var(--kose); object-fit: cover; background: var(--renk-yuzey-2); display: flex; align-items: center; justify-content: center; }
.epin-row { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(160px, 46%); gap: 12px; overflow-x: auto; scroll-snap-type: x proximity; padding-bottom: 6px; }
.epin-row > * { scroll-snap-align: start; }
@media (min-width: 640px) { .epin-row { grid-auto-columns: minmax(180px, 30%); } }
@media (min-width: 960px) { .epin-row { grid-auto-columns: minmax(180px, calc(20% - 10px)); } }
.epin-steps, .epin-trust { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; grid-template-columns: 1fr; counter-reset: adim; }
@media (min-width: 640px) { .epin-steps, .epin-trust { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .epin-steps { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); } .epin-trust { grid-template-columns: repeat(4, 1fr); } }
.epin-steps li, .epin-trust li { padding: 16px; background: var(--renk-yuzey); border: 1px solid var(--renk-kenar); border-radius: var(--kose-kart); }
.epin-steps li::before { counter-increment: adim; content: counter(adim); display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; margin-bottom: 8px; border-radius: 50%; background: var(--renk-ana); color: var(--renk-ana-metin); font-weight: 700; }
.epin-steps strong, .epin-trust strong { display: block; margin-bottom: 4px; }
.epin-trust svg { width: 28px; height: 28px; color: var(--renk-ana); margin-bottom: 6px; }
.epin-posts { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .epin-posts { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .epin-posts { grid-template-columns: repeat(3, 1fr); } }
.epin-post { background: var(--renk-yuzey); border: 1px solid var(--renk-kenar); border-radius: var(--kose-kart); overflow: hidden; }
.epin-post img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.epin-post__body { padding: 12px 14px; }
.epin-post__body time { font-size: .82rem; color: var(--renk-metin-soluk); }
.epin-cta { display: grid; gap: 12px; padding: 24px; border-radius: var(--kose-kart); background: var(--renk-ana); color: var(--renk-ana-metin); }
.epin-cta h2 { margin: 0; }
.epin-cta .epin-button { width: fit-content; background: var(--renk-ana-metin); color: var(--renk-ana); border-color: var(--renk-ana-metin); }
.epin-account-box { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; padding: 16px; background: var(--renk-yuzey); border: 1px solid var(--renk-kenar); border-radius: var(--kose-kart); }
.epin-account-box p { margin: 0; }
.epin-account-box__actions { display: flex; gap: 8px; flex-wrap: wrap; }

/* Vitrin: yardımcı çubuk, hero yanı, ikon şeridi, oyun bölümü, platform, marka, yayıncı (sade) */
.epin-topbar{background:var(--renk-yuzey-2);border-bottom:1px solid var(--renk-kenar);font-size:.85rem}
.epin-topbar__in,.epin-topbar__links,.epin-topbar__social{display:flex;align-items:center;flex-wrap:wrap;gap:4px 16px}
.epin-topbar__in{justify-content:space-between}
.epin-topbar__social{list-style:none;margin:0;padding:0}
.epin-topbar a{color:var(--menu-renk,var(--renk-metin-soluk));text-decoration:none;display:inline-flex;align-items:center;min-height:36px}
.epin-topbar__links{margin-left:auto}
.epin-topbar__vurgu,.epin-menu .epin-menu__vurgu{font-weight:700;color:var(--menu-renk,var(--renk-ana))!important}
@media (max-width:767px){.epin-topbar__social{display:none}}
.epin-menu-icon{flex:none;margin-right:6px}
.epin-menu a[style]{color:var(--menu-renk)}
.epin-hero,.epin-hero__side{display:grid;gap:12px}
.epin-hero__side{grid-template-columns:1fr 1fr}
@media (max-width:639px){.epin-hero__side .epin-slide__text{padding:8px}.epin-hero__side .epin-slide__text>:not(.epin-slide__cta){display:none}}
@media (min-width:960px){.epin-hero{grid-template-columns:2fr 1fr}.epin-hero__side{grid-template-columns:1fr}.epin-hero__side img{height:100%}}
.epin-slide__cta{display:block;width:fit-content;margin-top:8px;padding:6px 14px;border-radius:var(--kose-dugme);background:var(--renk-ana);color:var(--renk-ana-metin);font-weight:700}
.epin-iconrow{list-style:none;margin:0;padding:0 0 6px;display:grid;grid-auto-flow:column;grid-auto-columns:76px;gap:12px;overflow-x:auto}
.epin-iconrow a,.epin-platforms a{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--renk-metin);font-weight:600}
.epin-iconrow a{flex-direction:column;text-align:center;font-size:.8rem}
.epin-iconrow img,.epin-iconrow__ph,.epin-platforms img,.epin-platforms__ph{width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--renk-yuzey-2);display:flex;align-items:center;justify-content:center;flex:none}
.epin-gamesec__band{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;margin:0 0 12px;padding:12px 16px;border-radius:var(--kose-kart);background:var(--renk-yuzey-2);overflow:hidden}
.epin-gamesec__band--gorsel{min-height:96px;color:#fff}
.epin-gamesec__bg,.epin-gamesec__band--gorsel::before{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.epin-gamesec__band--gorsel::before{content:"";background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.25))}
.epin-gamesec__title,.epin-gamesec__all{position:relative;display:flex;align-items:center;gap:10px;min-height:44px;color:inherit;font-weight:700}
.epin-gamesec__title h2{margin:0}
.epin-platforms{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.epin-platforms a{min-height:64px;padding:12px;background:var(--renk-yuzey);border:1px solid var(--renk-kenar);border-radius:var(--kose-kart)}
.epin-platforms img,.epin-platforms__ph{width:40px;height:40px;border-radius:var(--kose);object-fit:contain}
.epin-brands{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 28px}
.epin-brands a{display:inline-flex;align-items:center;min-height:44px;color:var(--renk-metin-soluk);font-weight:700;text-decoration:none}
.epin-brands img{max-height:40px;width:auto;max-width:120px;object-fit:contain}
.epin-cta__actions{display:flex;flex-wrap:wrap;gap:10px}
.epin-cta .epin-button--ikincil{background:transparent;color:var(--renk-ana-metin)}

/* ---------- Blog ve hata sayfaları ---------- */
.epin-article { max-width: 760px; margin: 0 auto; }
.epin-article__cover { width: 100%; border-radius: var(--kose-kart); margin: 0 0 16px; }
.epin-article time { color: var(--renk-metin-soluk); font-size: .9rem; }
.epin-error-page { max-width: 560px; margin: 32px auto; text-align: center; }
.epin-error-page__code { font-family: var(--font-rakam); font-size: clamp(3rem, 2rem + 6vw, 5rem); font-weight: 700; color: var(--renk-ana); line-height: 1; margin: 0 0 8px; }
.epin-error-page__actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 16px; }
.epin-lookup { flex: 1 1 100%; display: grid; gap: 8px; padding-top: 12px; border-top: 1px solid var(--renk-kenar); }
.epin-lookup label { margin: 0; }
@media (min-width: 768px) { .epin-lookup { grid-template-columns: auto 1fr 1fr auto; align-items: end; } }
@media (min-width: 860px) { .epin-product__ph { height: auto; aspect-ratio: 1; } }
/* Alt menü açıkken dar ekranda üstteki hesap/sepet bağlantıları tekrar etmesin (mod düğmesi kalır) */
@media (max-width: 767px) {
    body.epin--alt-menu .epin-nav > a, body.epin--alt-menu .epin-nav__logout { display: none; }
}
.epin-popup { max-width: min(480px, calc(100% - 32px)); padding: 20px; border: 1px solid var(--renk-kenar); border-radius: var(--kose-kart); background: var(--renk-yuzey); color: var(--renk-metin); box-shadow: var(--golge); }
.epin-popup::backdrop { background: rgba(0, 0, 0, .45); }
.epin-popup__actions { display: flex; gap: 8px; justify-content: flex-end; flex-wrap: wrap; }
/* ---------- P9 denetimi düzeltmeleri (erişilebilirlik) ---------- */
html { scroll-padding-top: 90px; scroll-padding-bottom: 140px; }            /* sabit üst bölüm, çerez bandı ve yapışkan çubuk odağı örtmesin */
.epin-card__link:focus-visible, .epin a.obs-poster:focus-visible { outline-offset: -4px; }   /* kart overflow:hidden halkayı kırpmasın */
.epin-nav a, .epin-nav .epin-link, .epin-section__head a, .epin-menu a { display: inline-flex; align-items: center; min-height: 44px; }
.epin-chips a, .epin-tabs a, .epin-account-nav a { min-height: 44px; display: inline-flex; align-items: center; }
.epin .epin-consents__item, .epin label:has(> input[type="checkbox"]) { min-height: 44px; align-items: center; }
.epin-cart .epin-link, .epin-cart__coupon .epin-link { min-height: 44px; }
.epin-mode { min-width: 44px; min-height: 44px !important; }
.epin-variant--out { color: var(--renk-metin-soluk); }
.epin-variant--out .epin-variant__name { text-decoration: line-through; }
.epin label.epin-variant { margin: 0; cursor: pointer; font-weight: 400; display: grid; grid-template-columns: auto 1fr auto; gap: 4px 12px; align-items: center; }
.epin-variant:has(input:checked) { border-color: var(--renk-ana); box-shadow: inset 0 0 0 1px var(--renk-ana); }
.epin-buy { display: grid; gap: 10px; padding: 16px; background: var(--renk-yuzey); border: 1px solid var(--renk-kenar); border-radius: var(--kose-kart); }
.epin-buy__actions { display: flex; gap: 8px; flex-wrap: wrap; }
.epin-buy__actions button { flex: 1 1 140px; }

/* Stok gelince haber ver (partials/stock-alert) */
.epin-stock-alert{margin:16px 0;padding:16px;border:1px dashed var(--renk-kenar);border-radius:var(--kose-kart,12px);background:var(--renk-yuzey)}
.epin-stock-alert h2{margin:0 0 4px;font-size:1.05rem}
.epin-stock-alert p{margin:0 0 10px;color:var(--renk-metin-soluk)}
.epin-stock-alert__form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.epin-stock-alert__form label{display:flex;flex-direction:column;gap:4px;flex:1 1 220px;font-size:.9rem}
.epin-stock-alert__form input,.epin-stock-alert__form select{min-height:44px;padding:8px 12px;border:1px solid var(--renk-alan-kenar,var(--renk-kenar));border-radius:var(--kose,8px);background:var(--renk-yuzey);color:var(--renk-metin);font:inherit}
.epin-stock-alert__form .epin-button{min-height:44px}
.epin-stock-alert__paket{flex-basis:100%;margin:0}

/* Sabit WhatsApp destek düğmesi (Genel ayarlar) */
.epin-wa{position:fixed;right:16px;bottom:16px;z-index:45;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#128C4A;color:#fff !important;box-shadow:0 4px 14px rgba(0,0,0,.25);text-decoration:none}
.epin-wa:hover{filter:brightness(1.08)}
body.epin--alt-menu .epin-wa{bottom:76px}
@media (min-width:768px){body.epin--alt-menu .epin-wa{bottom:16px}}

/* Kampanya bitişi (partials/campaign-end) */
.epin-kampanya-bitis{margin:12px 0 0;padding:8px 12px;border-left:4px solid var(--renk-vurgu);background:var(--renk-yuzey-2);border-radius:var(--kose,8px);font-weight:600}

/* Favori düğmesi (partials/favorite) */
.epin-favorite{margin:8px 0}
.epin-favorite button[aria-pressed="true"]{color:var(--renk-vurgu)}

/* Bayi API anahtarları (account/dealer) */
.epin-api{margin-top:24px;padding-top:16px;border-top:1px solid var(--renk-kenar)}
.epin-api__anahtar{display:block;margin-top:6px;padding:10px;border-radius:var(--kose,8px);background:var(--renk-yuzey-2,var(--renk-zemin));word-break:break-all;font-family:ui-monospace,monospace}
.epin-api__liste{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:8px}
.epin-api__liste li{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px;border:1px solid var(--renk-kenar);border-radius:var(--kose,8px)}
.epin-inline-form{display:inline;margin-left:auto}
.epin-webhook__eylem{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.epin-webhook__eylem .epin-inline-form{margin-left:0}
.epin-webhook__tablo{overflow-x:auto}
.epin-webhook__tablo table{width:100%;border-collapse:collapse;font-size:.9em}
.epin-webhook__tablo th,.epin-webhook__tablo td{padding:8px;border-bottom:1px solid var(--renk-kenar);text-align:left;vertical-align:top}
.epin-webhook fieldset{border:0;padding:0;margin:0 0 12px;display:grid;gap:6px}
.epin-muted{color:var(--renk-metin-soluk);font-size:.9em}
.epin-topup__bonus{margin:0 0 16px;padding:12px 14px;border:1px solid var(--renk-kenar);border-left:4px solid var(--renk-vurgu,var(--renk-ana));border-radius:var(--kose-kart,8px);background:var(--renk-yuzey)}
.epin-topup__bonus ul{margin:6px 0 0;padding-left:18px}
.epin-gift{margin:16px 0;padding:12px 14px;border:1px dashed var(--renk-kenar);border-radius:var(--kose-kart,8px);background:var(--renk-yuzey)}
.epin-gift summary{cursor:pointer;font-weight:600}
.epin-gift label{display:block;margin-top:10px}
.epin-gift input,.epin-gift textarea{width:100%}
.epin-gift-info{margin:12px 0;padding:10px 14px;border-radius:var(--kose-kart,8px);background:var(--renk-yuzey);border:1px solid var(--renk-kenar)}
.epin-gift-page{max-width:720px;margin:0 auto}
.epin-gift-page__note{margin:12px 0;padding:12px 16px;border-left:4px solid var(--renk-vurgu);background:var(--renk-yuzey);font-style:italic}
.epin-qd{margin:12px 0;padding:10px 14px;border:1px dashed var(--renk-ana);border-radius:var(--kose-kart,8px);background:var(--renk-yuzey)}
.epin-qd ul{margin:4px 0 0;padding-left:18px}
.epin-cart__qd{display:block;color:var(--renk-basari);font-size:.8em}
.epin-price-alert{margin:12px 0}
.epin-price-alert summary{cursor:pointer;font-weight:600}
.epin-price-alert__form{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-top:8px}
.epin-price-alert__form label{flex:1 1 220px}
.epin-list-filter{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 16px}
.epin-list-filter input[type="search"]{flex:1 1 220px}
.epin-tier{margin:16px 0;padding:14px 16px;border:1px solid var(--renk-kenar);border-left:4px solid var(--renk-ana);border-radius:var(--kose-kart,8px);background:var(--renk-yuzey)}
.epin-tier h2{margin:0 0 4px;font-size:1.05rem}
.epin-tier p{margin:0;color:var(--renk-metin-soluk)}
.epin-sales-count{margin:8px 0;font-weight:600;color:var(--renk-indirim,var(--renk-vurgu))}
.ab-ozel{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:24px;padding-top:20px;border-top:1px solid var(--renk-kenar)}
.ab-metin{margin-top:16px;font-size:.88rem;max-width:760px}.ab-metin a{text-decoration:underline}
