/* ZirveGroup (zirvetech) müşteri katmanı. Standart store.css'in ÜSTÜNE yüklenir (THEMELAYER):
   sepet, ödeme ve hesap sayfaları standart kurallarla çalışmaya devam eder, bu dosya onlara yalnız
   palet ve ölçü verir; kabuk, ana sayfa, kart, ürün ve kategori görünümleri z- sınıflarıyla çizilir.
   Eski sitenin kimliği korunur: lacivert düğme ve rozetler, camgöbeği simgeler, gri zemin üzerinde beyaz
   kartlar, kırmızı indirim çipi. Tema bilinçli olarak yalnız açık renklidir. */

:root {
    color-scheme: light;
    --z-navy: #2b3484;
    --z-navy-strong: #20276b;
    --z-navy-soft: #eceefa;
    --z-blue: #0077b0;
    --z-blue-strong: #00628f;
    --z-blue-soft: #e6f2f9;
    --z-cyan: #2f93c4;
    --z-cyan-soft: #e7f4fa;
    --z-red: #d8391f;
    --z-green: #178443;
    --z-green-strong: #116a35;
    --z-ok: #15803d;
    --z-ink: #171a22;
    --z-text: #333846;
    --z-muted: #5b6272;
    --z-faint: #6b7180;
    --z-line: #e2e5ed;
    --z-line-soft: #eef0f5;
    --z-line-strong: #cdd2de;
    --z-page: #f3f4f7;
    --z-radius: 12px;
    --z-shadow-hover: 0 2px 6px rgba(22, 28, 64, .06), 0 14px 32px rgba(22, 28, 64, .10);
    --z-font: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, sans-serif;
    --z-wrap: 1320px;
    /* Standart temanın belirteçleri: standart sayfalar da aynı paleti kullanır (karanlık kip yok). */
    --ink: var(--z-ink);
    --muted: var(--z-muted);
    --paper: #fff;
    --soft: var(--z-page);
    --line: var(--z-line);
    --accent: var(--z-blue);
    --accent-soft: var(--z-blue-soft);
    --radius: 12px;
    --font-body: var(--z-font);
    font: 15px/1.55 var(--z-font);
    color: var(--z-text);
    background: var(--z-page);
}

html { background: var(--z-page); }
body.z-body {
    margin: 0;
    background: var(--z-page);
    color: var(--z-text);
    font: 15px/1.55 var(--z-font);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
.z-body main { min-height: 50vh; }
.z-body :focus-visible { outline: 3px solid #1b6fd1; outline-offset: 2px; }
.z-body h1, .z-body h2, .z-body h3 { text-wrap: balance; }
.z-wrap { width: 100%; max-width: var(--z-wrap); margin-inline: auto; padding-inline: 24px; }
.z-icon { flex: none; width: 20px; height: 20px; }

/* Duyuru */
.z-announcement { padding: 9px 16px; background: var(--z-navy); color: #fff; font-size: 14px; font-weight: 500; text-align: center; }
.z-announcement a { color: inherit; text-underline-offset: .18em; }

/* Başlık */
.z-header { position: relative; z-index: 30; background: #fff; border-bottom: 1px solid var(--z-line); }
.z-topbar { border-bottom: 1px solid var(--z-line-soft); font-size: 13px; }
.z-topbar__in { display: flex; justify-content: flex-end; }
.z-toplinks { display: flex; flex-wrap: wrap; gap: 0 22px; margin: 0; padding: 0; list-style: none; }
.z-toplinks a { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; color: var(--z-muted); text-decoration: none; }
.z-toplinks a:hover { color: var(--z-navy); }
.z-toplinks .z-icon { width: 16px; height: 16px; }
.z-mainbar { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 28px; padding-block: 16px; }
.z-mainbar__end { display: flex; align-items: center; gap: 16px; }
.z-logo { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.z-logo img { display: block; width: auto; height: 64px; max-width: 250px; object-fit: contain; }
.z-logo__text { color: var(--z-navy); font-size: 26px; font-weight: 700; letter-spacing: -.02em; }
.z-search { position: relative; display: flex; justify-self: center; width: 100%; max-width: 620px; margin: 0; }
.z-search input {
    flex: 1; min-width: 0; height: 52px; margin: 0; padding: 0 58px 0 18px;
    border: 1.5px solid var(--z-navy); border-radius: 10px; background: #f8fafc;
    color: var(--z-ink); font: inherit; font-size: 15px;
}
.z-search input::placeholder { color: var(--z-muted); }
.z-search input:focus { outline: none; background: #fff; box-shadow: 0 0 0 4px rgba(43, 52, 132, .14); }
.z-search input::-webkit-search-cancel-button { cursor: pointer; }
.z-search button {
    position: absolute; top: 6px; right: 6px; display: grid; place-items: center; width: 40px; height: 40px;
    border: 0; border-radius: 8px; background: transparent; color: var(--z-navy); cursor: pointer;
}
.z-search button:hover { background: var(--z-navy-soft); }
.z-search button .z-icon { width: 22px; height: 22px; }
/* ZLIVESEARCH — yazarken öneriler (şablonun LIVESEARCH listesi) ZirveGroup görünümünde: beyaz kart, görsel kırpılmadan sığar
   (ürün fotoğrafları beyaz zeminli), eşleşen kısım marka mavisiyle, fiyat lacivert. */
.z-search .store-search-live-list {
    z-index: 60; top: calc(100% + 8px); padding: 8px; border: 1px solid var(--z-line); border-radius: 14px; background: #fff;
    box-shadow: 0 2px 6px rgba(22, 28, 64, .06), 0 22px 48px -16px rgba(22, 28, 64, .28);
}
.z-search .store-search-live-option { grid-template-columns: 56px minmax(0, 1fr); gap: 12px; min-height: 64px; padding: 6px 8px; border-radius: 10px; }
.z-search .store-search-live-option:hover, .z-search .store-search-live-option[aria-selected="true"] { background: var(--z-page); }
.z-search .store-search-live-image, .z-search .store-search-live-placeholder {
    width: 56px; height: 52px; border: 1px solid var(--z-line-soft); border-radius: 8px; background: #fff; object-fit: contain;
}
.z-search .store-search-live-copy { gap: 2px; }
.z-search .store-search-live-title { color: var(--z-ink); font-size: 14.5px; font-weight: 600; }
.z-search .store-search-live-title mark { background: transparent; color: var(--z-blue); }
.z-search .store-search-live-price { color: var(--z-navy); font-size: 14px; font-weight: 700; }
.z-search .store-search-live-stock { color: var(--z-red); font-size: 12.5px; font-weight: 600; }
.z-search .store-search-live-empty { padding: 14px 10px; color: var(--z-muted); font-size: 14px; }
.z-search .store-search-live-more {
    margin-top: 6px; padding: 12px 10px 6px; border-top: 1px solid var(--z-line); color: var(--z-blue); font-size: 14px; font-weight: 600; text-align: center;
}
.z-search .store-search-live-more:hover, .z-search .store-search-live-more[aria-selected="true"] { background: transparent; color: var(--z-blue-strong); text-decoration: underline; }
.z-currency { margin: 0; }
.z-actions { display: flex; align-items: center; gap: 22px; }
.z-cart { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--z-ink); font-weight: 600; text-decoration: none; }
.z-cart:hover { color: var(--z-navy); }
.z-cart__icon { position: relative; display: inline-grid; }
.z-cart__icon .z-icon { width: 27px; height: 27px; }
.z-cart__count {
    position: absolute; top: -7px; right: -11px; display: grid; place-items: center; min-width: 21px; height: 21px; padding: 0 5px;
    border: 2px solid #fff; border-radius: 999px; background: var(--z-blue); color: #fff; font-size: 11px; font-weight: 700; line-height: 1;
}
.z-account {
    display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px;
    border-radius: 9px; background: var(--z-navy); color: #fff; font-weight: 600; text-decoration: none;
}
.z-account:hover { background: var(--z-navy-strong); }

.z-nav { border-top: 1px solid var(--z-line-soft); }
.z-menu { display: flex; flex-wrap: wrap; justify-content: space-around; gap: 0 8px; margin: 0; padding: 0; list-style: none; }
.z-nav .store-menu-link {
    position: relative; min-height: 56px; padding: 0 14px; color: #1f2430; font-size: 16px; font-weight: 600; text-decoration: none; white-space: nowrap;
}
.z-nav .store-menu-link::after {
    position: absolute; right: 14px; bottom: 11px; left: 14px; height: 2px; border-radius: 2px; background: var(--z-cyan);
    content: ""; transform: scaleX(0); transition: transform .18s ease;
}
.z-nav .store-menu-link:hover { color: var(--z-navy); }
.z-nav .store-menu-link:hover::after, .z-nav .store-menu-link:focus-visible::after { transform: scaleX(1); }
.z-nav .store-menu-submenu { top: calc(100% - 4px); }

/* WPIDRAWER — Opus mobil kategori çekmecesi; gerçek menü bağlantıları ve görseller layout.php'den gelir. */
.z-drawer { display: none; }
.z-drawer > summary { list-style: none; }
.z-drawer > summary::-webkit-details-marker { display: none; }
.z-drawer__toggle {
    display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--z-line); border-radius: 10px;
    color: var(--z-navy); cursor: pointer;
}
.z-drawer[open] .z-drawer__toggle { background: var(--z-navy-soft); border-color: transparent; }
.z-drawer__panel {
    box-sizing: border-box; flex-direction: column; margin: 0; padding: 0; border: 0; background: var(--z-page); color: var(--z-text);
}
.z-drawer:not(.is-enhanced)[open] > .z-drawer__panel {
    position: absolute; top: 100%; right: 0; left: 0; z-index: 40; display: flex; width: auto; max-width: none; height: auto;
    max-height: 70vh; overflow-y: auto; border-top: 1px solid var(--z-line); box-shadow: 0 18px 32px rgba(22, 28, 64, .14);
}
.z-drawer:not(.is-enhanced) .z-drawer__head { display: none; }
.z-drawer.is-enhanced > .z-drawer__panel[open] {
    position: fixed; inset: 0; display: flex; width: 100%; max-width: none; height: 100vh; height: 100dvh; max-height: none;
    overflow: hidden; transform: translateX(-100%); transition: transform 280ms cubic-bezier(.32, .72, 0, 1);
}
.z-drawer.is-enhanced > .z-drawer__panel.is-open { transform: none; }
.z-drawer__panel::backdrop { background: rgba(11, 18, 51, .4); opacity: 0; transition: opacity 280ms ease; }
.z-drawer__panel.is-open::backdrop { opacity: 1; }
.z-drawer-locked { overflow: hidden; }
.z-drawer__panel ul { margin: 0; padding: 0; list-style: none; }
.z-drawer__head {
    display: flex; flex: none; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px;
    padding: max(10px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left));
    border-bottom: 1px solid var(--z-line); background: #fff;
}
.z-drawer__brand { display: inline-flex; align-items: center; min-width: 0; min-height: 44px; text-decoration: none; }
.z-drawer__brand img { display: block; width: auto; height: 40px; max-width: 180px; object-fit: contain; }
.z-drawer__brand .z-logo__text { overflow: hidden; font-size: 20px; text-overflow: ellipsis; white-space: nowrap; }
.z-drawer__close {
    display: grid; flex: none; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--z-line);
    border-radius: 10px; background: #fff; color: var(--z-navy); cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.z-drawer__close:active { border-color: transparent; background: var(--z-navy-soft); }
.z-drawer__close[hidden] { display: none; }
.z-drawer__body {
    flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
    padding: 6px max(16px, env(safe-area-inset-right)) 20px max(16px, env(safe-area-inset-left));
}
.z-drawer:not(.is-enhanced) .z-drawer__body { overflow: visible; }
.z-dhome {
    display: flex; align-items: center; gap: 12px; min-height: 52px; margin-bottom: 4px; padding: 0 4px; color: var(--z-navy);
    font-size: 16px; font-weight: 600; text-decoration: none; -webkit-tap-highlight-color: transparent;
}
.z-dhome span { flex: 1; min-width: 0; }
.z-dnav__list { display: grid; gap: 10px; }
.z-dcard { overflow: hidden; border: 1px solid var(--z-line); border-radius: 14px; background: #fff; }
.z-dcard__link {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 56px;
    padding: 8px 8px 8px 16px; border-radius: 13px; color: var(--z-ink); text-decoration: none; list-style: none; cursor: pointer;
    -webkit-tap-highlight-color: transparent; transition: background .15s ease;
}
.z-dcard__link::-webkit-details-marker { display: none; }
.z-dcard__link:active { background: var(--z-line-soft); }
.z-dcard__link:focus-visible { outline-offset: -3px; }
.z-dcard__group[open] > .z-dcard__link { border-radius: 13px 13px 0 0; }
.z-dcard--image .z-dcard__link { min-height: 96px; }
.z-dcard__text { display: grid; gap: 3px; min-width: 0; }
.z-dcard__label {
    display: -webkit-box; overflow: hidden; font-size: 16px; font-weight: 600; line-height: 1.3; overflow-wrap: anywhere;
    -webkit-box-orient: vertical; -webkit-line-clamp: 2;
}
.z-dcard__meta { display: inline-flex; align-items: center; gap: 4px; color: var(--z-muted); font-size: 13px; font-weight: 500; }
.z-dcard__meta .z-icon { width: 16px; height: 16px; transform: rotate(90deg); transition: transform .2s ease; }
.z-dcard__group[open] .z-dcard__meta .z-icon { transform: rotate(270deg); }
.z-dcard__chev { display: grid; place-items: center; width: 32px; height: 40px; color: var(--z-faint); }
.z-dcard__chev .z-icon { width: 18px; height: 18px; }
.z-dcard__media {
    display: grid; place-items: center; width: 112px; height: 80px; overflow: hidden; isolation: isolate; border-radius: 10px;
    background: linear-gradient(160deg, #f7f8fb 0%, #eceff5 100%);
}
.z-dcard__media img { display: block; width: 100%; height: 100%; padding: 6px; object-fit: contain; mix-blend-mode: multiply; }
.z-dcard__sub { padding: 2px 16px 8px; border-top: 1px solid var(--z-line-soft); }
.z-dcard__sub li + li, .z-dcard__sub ul { border-top: 1px solid var(--z-line-soft); }
.z-dcard__sub ul { padding-left: 14px; }
.z-dcard__sub a { display: flex; align-items: center; min-height: 46px; color: var(--z-text); font-size: 15px; font-weight: 500; text-decoration: none; }
.z-dcard__sub ul a { min-height: 42px; color: var(--z-muted); font-size: 14.5px; }
.z-dcard__sub a:focus-visible { outline-offset: -3px; }
.z-dcard__sub .z-dcard__all { color: var(--z-blue); font-weight: 600; }
.z-dnav__sub { display: grid; margin: 6px 0 4px 18px; padding-left: 14px; border-left: 2px solid var(--z-line); }
.z-dnav__sub ul { margin-left: 14px; }
.z-dnav__sub a { display: flex; align-items: center; min-height: 44px; color: var(--z-text); font-size: 15px; font-weight: 500; text-decoration: none; }
.z-dhelp { margin-top: 18px; }
.z-dlist { overflow: hidden; border: 1px solid var(--z-line); border-radius: 14px; background: #fff; }
.z-dlist li + li { border-top: 1px solid var(--z-line-soft); }
.z-dlist a {
    display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 0 16px; color: var(--z-text); font-size: 15px;
    font-weight: 500; text-decoration: none; -webkit-tap-highlight-color: transparent;
}
.z-dlist a:active { background: var(--z-line-soft); }
.z-dlist .z-icon { width: 18px; height: 18px; color: var(--z-muted); }
.z-dlist small { margin-left: auto; color: var(--z-muted); font-size: 13px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.z-dbar {
    flex: none; padding: 6px max(8px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
    border-top: 1px solid var(--z-line); background: #fff;
}
.z-dbar ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; margin-inline: auto; }
.z-dbar a {
    display: grid; justify-items: center; align-content: center; gap: 4px; min-height: 58px; border-radius: 10px; color: var(--z-navy);
    font-size: 12.5px; font-weight: 600; line-height: 1.2; text-align: center; text-decoration: none; -webkit-tap-highlight-color: transparent;
}
.z-dbar a:active { background: var(--z-navy-soft); }
.z-dbar .z-icon { width: 22px; height: 22px; }
.z-dbar__icon { position: relative; display: inline-grid; }
.z-dbar__count {
    position: absolute; top: -6px; right: -11px; display: grid; place-items: center; min-width: 19px; height: 19px; padding: 0 5px;
    border: 2px solid #fff; border-radius: 999px; background: var(--z-blue); color: #fff; font-size: 10.5px; font-weight: 700; line-height: 1;
}
@media (hover: hover) {
    .z-drawer__close:hover { background: var(--z-navy-soft); border-color: transparent; }
    .z-dcard:hover { border-color: var(--z-line-strong); }
    .z-dcard__sub a:hover, .z-dnav__sub a:hover { color: var(--z-navy); }
    .z-dlist a:hover { background: #f8f9fb; }
}
@media (prefers-reduced-motion: reduce) {
    .z-drawer.is-enhanced > .z-drawer__panel[open], .z-drawer__panel::backdrop, .z-dcard__link, .z-dcard__meta .z-icon { transition: none; }
}
/* Kayan kapak ve afişler */
.z-hero { position: relative; margin-top: 20px; }
.z-hero__track {
    display: flex; margin: 0; padding: 0; overflow-x: auto; list-style: none; border-radius: var(--z-radius); background: #0b1233;
    scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; overscroll-behavior-x: contain;
}
.z-hero__track::-webkit-scrollbar { display: none; }
.z-hero__slide { flex: 0 0 100%; aspect-ratio: 2014 / 781; scroll-snap-align: start; scroll-snap-stop: always; }
.z-hero__slide a, .z-hero__slide img { display: block; width: 100%; height: 100%; }
.z-hero__slide img { object-fit: cover; }
.z-hero__nav {
    position: absolute; top: 50%; display: grid; place-items: center; width: 44px; height: 44px; padding: 0;
    border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--z-navy); cursor: pointer; opacity: 0;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .22); transform: translateY(-50%); transition: opacity .18s, background .15s, transform .15s;
}
.z-hero:hover .z-hero__nav, .z-hero:focus-within .z-hero__nav { opacity: 1; }
.z-hero__nav:hover { background: #fff; transform: translateY(-50%) scale(1.05); }
.z-hero__nav--prev { left: 38px; }
.z-hero__nav--next { right: 38px; }
@media (hover: none) { .z-hero__nav { display: none; } }
.z-hero__nav svg { width: 22px; height: 22px; }
.z-hero__toggle {
    position: absolute; top: 14px; right: 14px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0;
    border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--z-navy); cursor: pointer;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .22);
}
.z-hero__toggle:hover { background: #fff; }
.z-hero__toggle svg { width: 22px; height: 22px; }
.z-hero__dots { position: absolute; right: 0; bottom: 10px; left: 0; display: flex; justify-content: center; gap: 2px; }
.z-hero__dot { display: grid; place-items: center; width: 28px; height: 24px; padding: 0; border: 0; background: none; cursor: pointer; }
.z-hero__dot::before { width: 9px; height: 9px; border-radius: 999px; background: rgba(255, 255, 255, .55); content: ""; transition: width .2s, background .2s; }
.z-hero__dot[aria-current="true"]::before { width: 24px; background: #fff; }
@media (pointer: coarse) { .z-hero__dot { width: 44px; height: 44px; } }

/* HEROWIDTH — hero_slider bloğu (şablonun .hero-slider kökü; ana sayfada `.z-wrap z-hero` ile basılır) öteki ana sayfa bölümleriyle AYNI
   kapta durur: .z-wrap ölçüsü (1320 − 2 × 24 = 1272 px içerik), 2014 × 781 oran kutusu (CLS yok), kart yarıçapı, object-fit: cover.
   hero-slider.css gövdede ve bu dosyadan SONRA yüklenir; tek sınıflı seçici (1120 px, 32 px boşluk) bu yüzden kazanırdı → iki sınıflı seçici.
   Eski kayan kapağın `.z-hero__slide { aspect-ratio }` kuralı da blok slaytlarını daraltıyordu (mutlak konumlu slaytta yükseklikten genişlik türetir). */
.z-wrap.hero-slider { max-width: var(--z-wrap); margin: 20px auto 0; padding-inline: 24px; }
.z-wrap.hero-slider .hero-slider__viewport { aspect-ratio: 2014 / 781; border-radius: var(--z-radius); }
.z-wrap.hero-slider .z-hero__slide { aspect-ratio: auto; }
/* Noktalar şablonda alt çubuğun akışındadır (ortada); eski kapağın .z-hero__dots mutlak konumu onları akıştan çıkarıp alt çubuğun üstüne bindiriyordu. */
.z-wrap.hero-slider .z-hero__dots { position: static; padding-inline: 6px; border-radius: 999px; background: rgba(11, 18, 51, .4); }
@media (max-width: 959px) { .z-wrap.hero-slider { margin-top: 12px; } }
@media (max-width: 640px) {
    .z-wrap.hero-slider { padding-inline: 16px; }
    .z-wrap.hero-slider .hero-slider__viewport { border-radius: 10px; }
    /* Telefonda yatay 2,58:1 şerit ~140 px'e iner ve gömülü yazı okunmaz. Kendi mobil medyası olmayan slaytlar 3:2'ye kırpılır; odak sola
       yakındır (görsel afişlerde başlık ve logo soldadır, ortadan kırpmak "ICA SİGORTA İÇİN" gibi harf keser). 4:5 telefon medyası ayrıdır,
       o kural şablondadır. */
    .z-wrap.hero-slider:not(.hero-slider--mobile-art) .hero-slider__viewport { aspect-ratio: 3 / 2; }
    .z-wrap.hero-slider:not(.hero-slider--mobile-art) .hero-slider__image,
    .z-wrap.hero-slider:not(.hero-slider--mobile-art) .hero-slider__video { object-position: 6% 50%; }
}

.z-banners { display: grid; gap: 16px; margin-top: 24px; }
.z-banners__row { display: grid; gap: 16px; }
.z-banners__row--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.z-banner { overflow: hidden; border-radius: var(--z-radius); background: #0b1233; }
.z-banner a, .z-banner img { display: block; width: 100%; }
.z-banner img { height: auto; transition: transform .35s ease; }
.z-banner a:hover img { transform: scale(1.015); }
.z-block { margin-top: 32px; }
.z-block .store-banner, .z-block .store-section, .z-block .hero { max-width: none; margin-inline: 0; }

/* Vitrin bölümleri */
.z-showcase { margin-top: 52px; }
.z-heading {
    margin: 0 0 32px; color: var(--z-ink); font-size: clamp(24px, 2.4vw, 32px); font-weight: 600;
    line-height: 1.2; letter-spacing: -.015em; text-align: center;
}
.z-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.z-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.z-showcase__more { margin: 28px 0 0; text-align: center; }

/* Ürün kartı */
.z-card {
    position: relative; display: flex; flex-direction: column; min-width: 0; overflow: hidden;
    border: 1px solid var(--z-line); border-radius: var(--z-radius); background: #fff;
    transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.z-card:hover { border-color: transparent; box-shadow: var(--z-shadow-hover); transform: translateY(-2px); }
.z-card:focus-within { box-shadow: 0 0 0 3px var(--z-navy); }
.z-card__media { position: relative; display: grid; place-items: center; aspect-ratio: 1 / 1; overflow: hidden; border-bottom: 1px solid var(--z-line-soft); background: #fff; }
.z-card__media img { position: absolute; inset: 18px; width: calc(100% - 36px); height: calc(100% - 36px); object-fit: contain; transition: transform .3s ease; }
.z-card:hover .z-card__media img { transform: scale(1.03); }
.z-card__noimg { color: var(--z-faint); font-size: 13px; }
.z-card__badges { position: absolute; top: 14px; right: 0; z-index: 1; display: grid; justify-items: end; gap: 6px; margin: 0; padding: 0; list-style: none; }
.z-badge {
    padding: 6px 10px 6px 12px; border-radius: 6px 0 0 6px; background: var(--z-navy); color: #fff;
    font-size: 12px; font-weight: 600; line-height: 1.1; letter-spacing: .01em; box-shadow: 0 1px 2px rgba(0, 0, 0, .16);
}
/* SFHEART — kartın SOL ÜST köşesinde favori kalbi (rozetler sağ üste taşındı). Kalp gerçek bir formdur (POST + CSRF); outline = favoride değil,
   dolu kırmızı = favoride; durum aria-pressed ile de bildirilir. Kartı kaplayan bağlantının (::after, z-index 2) ÜSTÜNDE durur. */
.z-fav-toggle { position: absolute; top: 10px; left: 10px; z-index: 3; margin: 0; }
.z-fav-toggle__btn {
    display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 1px solid var(--z-line); border-radius: 50%;
    background: rgba(255, 255, 255, .96); color: var(--z-muted); cursor: pointer; box-shadow: 0 1px 3px rgba(22, 28, 64, .12);
    transition: color .15s ease, background .15s ease, border-color .15s ease, transform .15s ease;
}
.z-fav-toggle__btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; transition: fill .15s ease; }
.z-fav-toggle__btn:hover { border-color: #efc4bc; background: #fff; color: var(--z-red); }
.z-fav-toggle__btn:active { transform: scale(.92); }
.z-fav-toggle__btn:focus-visible { outline: 3px solid #1b6fd1; outline-offset: 2px; }
.z-fav-toggle.is-on .z-fav-toggle__btn { border-color: #f1c7bf; background: #fff5f3; color: var(--z-red); }
.z-fav-toggle.is-on .z-fav-toggle__btn svg { fill: currentColor; }
.z-fav-toggle__btn[aria-busy="true"] { cursor: progress; opacity: .65; }
@media (pointer: coarse) { .z-fav-toggle__btn { width: 44px; height: 44px; } .z-fav-toggle { top: 8px; left: 8px; } }
/* Yerinde güncellemenin kısa bildirimi (customer.js açar): altta ortada, kendiliğinden kapanır. */
.z-toast {
    position: fixed; left: 50%; bottom: 22px; z-index: 60; display: flex; align-items: center; gap: 14px; max-width: calc(100vw - 32px);
    padding: 12px 16px; border-radius: 12px; background: var(--z-navy-strong); color: #fff; font-size: 14.5px; font-weight: 500;
    box-shadow: 0 10px 30px rgba(22, 28, 64, .28); transform: translate(-50%, 12px); opacity: 0; pointer-events: none; transition: opacity .2s ease, transform .2s ease;
}
.z-toast.is-visible { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
.z-toast a { color: #bfe7f8; font-weight: 600; white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .z-fav-toggle__btn, .z-toast { transition: none; } }
.z-card__body { display: flex; flex: 1; flex-direction: column; gap: 10px; padding: 14px 16px 16px; }
.z-card__title {
    display: -webkit-box; margin: 0; overflow: hidden; color: var(--z-ink);
    font-size: 15px; font-weight: 600; line-height: 1.42; -webkit-box-orient: vertical; -webkit-line-clamp: 3;
}
.z-card__link { color: inherit; text-decoration: none; }
.z-card__link::after { position: absolute; inset: 0; z-index: 2; content: ""; }
.z-card__link:focus-visible { outline: none; }
.z-card__price { display: flex; flex-wrap: wrap; align-content: flex-end; align-items: center; gap: 2px 8px; min-height: 50px; margin-top: auto; }
.z-card__was { flex-basis: 100%; color: var(--z-faint); font-size: 13px; }
.z-card__now { color: var(--z-ink); font-size: 19px; font-weight: 700; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.z-chip {
    display: inline-flex; align-items: center; height: 22px; padding: 0 7px; border-radius: 5px;
    background: var(--z-red); color: #fff; font-size: 12px; font-weight: 700; white-space: nowrap;
}
.z-card__price .z-chip { margin-left: auto; }
.z-card__cta {
    display: flex; align-items: center; justify-content: center; height: 40px; border-radius: 8px;
    background: var(--z-blue); color: #fff; font-size: 14px; font-weight: 600; transition: background .2s ease;
}
.z-card:hover .z-card__cta { background: var(--z-blue-strong); }
.z-card__perk { display: flex; align-items: center; gap: 6px; margin: 0; color: var(--z-muted); font-size: 13px; }
.z-card__perk svg { flex: none; color: var(--z-cyan); }

/* Düğmeler */
.z-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 22px;
    border: 1px solid transparent; border-radius: 10px; font: inherit; font-size: 16px; font-weight: 600;
    text-decoration: none; cursor: pointer; transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.z-btn svg { flex: none; }
.z-btn--primary, .z-btn--primary.store-button { background: var(--z-blue); border-color: var(--z-blue); color: #fff; }
.z-btn--primary:hover { background: var(--z-blue-strong); border-color: var(--z-blue-strong); }
.z-btn--whatsapp { width: 100%; background: var(--z-green); color: #fff; }
.z-btn--whatsapp:hover { background: var(--z-green-strong); }
.z-btn--ghost { min-height: 44px; padding: 0 20px; border-color: var(--z-line-strong); background: #fff; color: var(--z-navy); }
.z-btn--ghost:hover { border-color: var(--z-navy); }

/* Sayfa yolu */
.z-body .breadcrumbs.z-crumbs { max-width: var(--z-wrap); padding: 16px 24px 0; color: var(--z-muted); font-size: 13px; }
.z-crumbs a { color: var(--z-muted); text-decoration: none; }
.z-crumbs a:hover { color: var(--z-navy); text-decoration: underline; }
.z-crumbs li[aria-current] { color: var(--z-text); font-weight: 500; }

/* Ürün sayfası */
.z-body .product-detail.z-product {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 44px; max-width: none; margin: 14px 0 0; padding: 28px;
    border: 1px solid var(--z-line); border-radius: 16px; background: #fff;
}
.z-gallery { position: relative; min-width: 0; }
.z-gallery .product-main-image {
    aspect-ratio: 1 / 1; border: 1px solid var(--z-line-soft); border-radius: 12px;
    background-color: #fff; background-position: center; background-repeat: no-repeat; background-size: contain;
}
.z-gallery__nav {
    position: absolute; top: calc(50% - 48px); display: grid; place-items: center; width: 42px; height: 42px; padding: 0;
    border: 1px solid var(--z-line); border-radius: 50%; background: rgba(255, 255, 255, .95); color: var(--z-navy); cursor: pointer;
}
.z-gallery__nav--prev { left: 12px; }
.z-gallery__nav--next { right: 12px; }
.z-gallery:not(.is-enhanced) .z-thumbs { display: none; }
.z-thumbs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.z-thumb { width: 78px; height: 78px; padding: 6px; border: 1.5px solid var(--z-line); border-radius: 10px; background: #fff; cursor: pointer; }
.z-thumb:hover { border-color: var(--z-line-strong); }
.z-thumb[aria-pressed="true"] { border-color: var(--z-navy); box-shadow: 0 0 0 1px var(--z-navy); }
.z-thumb img { display: block; width: 100%; height: 100%; object-fit: contain; }
.z-body .product-buy.z-buy { min-width: 0; padding: 4px 0 0; }
.z-buy__brand { color: var(--z-blue); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.z-body .product-buy h1.z-buy__title { margin: 6px 0 12px; color: var(--z-ink); font-size: clamp(22px, 2.2vw, 28px); font-weight: 600; line-height: 1.3; letter-spacing: -.01em; }
.z-buy__meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0 0 18px; padding: 0; color: var(--z-muted); font-size: 14px; list-style: none; }
.z-buy__meta b { color: var(--z-ink); font-weight: 600; }
.z-stock { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.z-stock--ok { color: var(--z-ok); }
.z-stock--out { color: var(--z-red); }
.z-pricebox { margin-bottom: 18px; padding: 16px 18px; border: 1px solid #e6e9f2; border-radius: 12px; background: #f5f7fb; }
.z-pricebox__label { display: block; margin-bottom: 2px; color: var(--z-muted); font-size: 13px; }
.z-body .price.z-pricebox__row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0; font-size: inherit; font-weight: inherit; }
.z-pricebox__now { color: var(--z-blue); font-size: 32px; font-weight: 700; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.z-body .z-pricebox__was.sale-list-price { color: var(--z-faint); font-size: 16px; }
.z-body .z-pricebox .sale-discount.z-chip { height: 24px; margin: 0; padding: 0 8px; border-radius: 6px; background: var(--z-red); color: #fff; font-size: 13px; }
.z-body .z-pricebox [hidden] { display: none !important; }
.z-buy .option-group { padding: 14px 0; border-top: 1px solid var(--z-line-soft); }
.z-buyform { display: grid; gap: 12px; margin-top: 4px; }
.z-buyform__row { display: flex; align-items: flex-end; gap: 12px; }
.z-qty { flex: none; width: 96px; font-size: 13px; }
.z-body .z-qty input { min-height: 52px; height: 52px; border-color: var(--z-line-strong); border-radius: 10px; font-weight: 600; text-align: center; }
.z-buyform .z-btn--primary { flex: 1; }
.z-buyform .buy-note { margin-top: 0; color: var(--z-muted); }
.z-trust { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 22px 0 0; padding: 18px 0 0; border-top: 1px solid var(--z-line-soft); list-style: none; }
.z-trust li { display: flex; flex-direction: column; align-items: center; gap: 6px; color: var(--z-muted); font-size: 13px; font-weight: 500; text-align: center; }
.z-trust svg { color: var(--z-navy); }

.z-desc { margin-top: 28px; }
.z-desc__title {
    display: inline-block; margin: 0 0 -1px; padding: 12px 20px; border: 1px solid var(--z-line); border-bottom-color: #fff;
    border-radius: 12px 12px 0 0; background: #fff; color: var(--z-navy); font-size: 16px; font-weight: 600; position: relative;
}
.z-body .z-desc__body { max-width: none; padding: 28px 32px; border: 1px solid var(--z-line); border-radius: 0 16px 16px 16px; background: #fff; color: var(--z-text); line-height: 1.75; }
.z-desc__body > :first-child { margin-top: 0; }
.z-desc__body img { border-radius: 8px; }
.z-about { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--z-line-soft); }
.z-about h2 { margin: 0 0 6px; color: var(--z-ink); font-size: 15px; font-weight: 600; }
.z-about p { margin: 0 0 8px; color: var(--z-muted); font-size: 14px; line-height: 1.65; }
.z-about a { color: var(--z-blue); font-size: 14px; font-weight: 600; text-underline-offset: .18em; }
.z-body .product-reviews { max-width: calc(var(--z-wrap) - 48px); margin: 28px auto 0; padding: 26px 32px; border: 1px solid var(--z-line); border-radius: 16px; background: #fff; }
.z-body .product-reviews > * { max-width: none; }
.z-body .product-reviews h2 { margin-top: 0; color: var(--z-ink); font-size: 20px; font-weight: 600; }
.z-body .product-reviews h3 { color: var(--z-ink); font-size: 16px; font-weight: 600; }

/* Kategori ve arama */
.z-body .category-page.z-category { max-width: var(--z-wrap); padding-top: 4px; padding-bottom: 0; }
.z-category__head { display: flex; align-items: center; gap: 16px; margin: 14px 0 20px; }
.z-category__head h1 { margin: 0; color: var(--z-ink); font-size: clamp(24px, 2.6vw, 32px); font-weight: 600; line-height: 1.2; letter-spacing: -.015em; }
.z-category__count { margin: 4px 0 0; color: var(--z-muted); font-size: 14px; }
.z-category__image { width: 72px; height: 72px; border-radius: 12px; background: #fff; object-fit: cover; }
.z-subcats ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; padding: 0; list-style: none; }
.z-subcats a { display: inline-flex; align-items: center; min-height: 38px; padding: 0 14px; border: 1px solid var(--z-line); border-radius: 999px; background: #fff; color: var(--z-text); font-size: 14px; text-decoration: none; }
.z-subcats a:hover { border-color: var(--z-navy); color: var(--z-navy); }
.z-category__layout { display: grid; grid-template-columns: 264px minmax(0, 1fr); align-items: start; gap: 24px; }
.z-category__main { min-width: 0; }
.z-side { display: grid; gap: 16px; }
.z-sidecard { padding: 18px; border: 1px solid var(--z-line); border-radius: 14px; background: #fff; }
.z-sidecard h2, .z-filters > summary {
    position: relative; margin: 0 0 12px; padding-bottom: 10px; border-bottom: 2px solid var(--z-line-soft);
    color: var(--z-ink); font-size: 17px; font-weight: 600;
}
.z-sidecard h2::after, .z-filters > summary::after { position: absolute; bottom: -2px; left: 0; width: 40px; height: 2px; background: var(--z-cyan); content: ""; }
.z-sidecats { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.z-sidecats a { display: flex; align-items: center; min-height: 40px; padding: 0 12px; border: 1px solid var(--z-line-soft); border-radius: 8px; color: var(--z-text); font-size: 14px; text-decoration: none; }
.z-sidecats a:hover { border-color: var(--z-line-strong); color: var(--z-navy); }
.z-sidecats a[aria-current="page"] { border-color: transparent; background: var(--z-navy-soft); color: var(--z-navy); font-weight: 600; }
.z-filters > summary { list-style: none; cursor: pointer; }
.z-filters > summary::-webkit-details-marker { display: none; }
.z-filters:not([open]) > summary { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.z-filters:not([open]) > summary::after { display: none; }
.z-filters > summary::before {
    float: right; width: 8px; height: 8px; margin-top: 6px; border-right: 2px solid var(--z-muted); border-bottom: 2px solid var(--z-muted);
    content: ""; transform: rotate(45deg);
}
.z-filters[open] > summary::before { margin-top: 10px; transform: rotate(225deg); }
.z-body .z-filters .catalog-filters { display: block; border-top: 0; }
.z-filters .catalog-filters > h2 { display: none; }
.z-filters .catalog-filters fieldset { margin: 0; padding: 12px 0; border: 0; border-bottom: 1px solid var(--z-line-soft); }
.z-filters .catalog-filters legend { padding: 0 0 4px; color: var(--z-ink); font-size: 14px; font-weight: 600; }
.z-filters .catalog-filters label { display: block; margin: 8px 0; color: var(--z-text); font-size: 14px; }
.z-filters .catalog-filters label > span { color: var(--z-muted); }
.z-filters .catalog-sort { padding: 0 0 12px; border-bottom: 1px solid var(--z-line-soft); }
.z-filters .catalog-filters input[type="search"], .z-filters .catalog-filters input[type="number"], .z-filters .catalog-filters select {
    display: block; width: 100%; min-height: 40px; margin-top: 6px; padding: 8px 10px; border: 1px solid var(--z-line-strong);
    border-radius: 8px; background: #fff; color: var(--z-ink); font: inherit; font-size: 14px;
}
.z-filters .catalog-filters p { margin: 6px 0; color: var(--z-muted); font-size: 13px; }
.z-body .z-filters .catalog-filters .store-button { min-height: 44px; margin-top: 14px; border-color: var(--z-navy); border-radius: 9px; background: var(--z-navy); color: #fff; font-weight: 600; }
.z-empty { padding: 48px 24px; border: 1px dashed var(--z-line-strong); border-radius: 14px; background: #fff; text-align: center; }
.z-empty h2 { margin: 0 0 8px; color: var(--z-ink); font-size: 20px; font-weight: 600; }
.z-empty p { margin: 0 0 18px; color: var(--z-muted); }
.z-pager { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--z-line); color: var(--z-muted); }
.z-seo { margin-top: 56px; padding-top: 44px; border-top: 1px solid var(--z-line); }
.z-seo__body { max-width: 900px; margin: 0 auto; color: var(--z-text); font-size: 15px; line-height: 1.8; }
.z-seo__body p { margin: 0 0 14px; }

/* Standart sayfaların ölçüsü (sepet, ödeme, hesap, içerik, blog, sipariş takibi) */
.z-body .store-page, .z-body .store-section, .z-body .catalog-head, .z-body .catalog-layout, .z-body .simple-head, .z-body .checkout-layout,
.z-body .account-orders, .z-body .store-state, .z-body .page, .z-body .breadcrumbs, .z-body .store-notice, .z-body .store-banner {
    max-width: var(--z-wrap);
}
.z-body .hero h1, .z-body .simple-head h1, .z-body .catalog-head h1, .z-body .page__header h1, .z-body .store-page__header h1 {
    color: var(--z-ink); font-size: clamp(26px, 3vw, 34px); font-weight: 600; line-height: 1.2; letter-spacing: -.015em;
}
.z-body .store-button { border-radius: 10px; font-weight: 600; }
.z-body .store-button:not(.store-button--secondary):not(.z-btn--ghost):hover { background: var(--z-blue-strong); border-color: var(--z-blue-strong); }
.z-body .kicker { color: var(--z-cyan); }
.z-body .page__body, .z-body .rich-text { color: var(--z-text); }
.z-body .order-summary { border-color: var(--z-line); background: #fff; }
.z-body .product-grid { gap: 20px; }
.z-body .page form[action="/iletisim"] label { color: var(--z-ink); font-weight: 600; }
.z-body .page form[action="/iletisim"] input, .z-body .page form[action="/iletisim"] textarea { border-color: var(--z-line-strong); border-radius: 10px; background: #fff; }
.z-body .page form[action="/iletisim"] input:focus, .z-body .page form[action="/iletisim"] textarea:focus { outline: none; border-color: var(--z-navy); box-shadow: 0 0 0 4px rgba(43, 52, 132, .12); }
.z-body .page form[action="/iletisim"] button { border-color: var(--z-blue); border-radius: 10px; background: var(--z-blue); font-weight: 600; }
.z-body .page { padding-top: 24px; }
.z-body .page__body { max-width: 860px; }
.z-crumbs li[aria-current] { overflow: hidden; max-width: 100%; text-overflow: ellipsis; white-space: nowrap; }
.z-body .account-form { max-width: 480px; padding: 28px; border: 1px solid var(--z-line); border-radius: 16px; background: #fff; }
.z-body .account-form + p { max-width: 480px; margin-top: 16px; color: var(--z-muted); }
.z-body .account-form + p a { color: var(--z-blue); font-weight: 600; }
.z-body .simple-head { padding-bottom: 16px; }
.z-body .simple-head + .store-section, .z-body .simple-head + .store-notice + .store-section { padding-top: 8px; }

/* Alt bilgi */
.z-body footer.z-footer { display: block; max-width: none; margin: 64px 0 0; padding: 0; border-top: 1px solid var(--z-line); background: #fff; color: var(--z-text); }
.z-body footer.z-footer nav { display: block; }
.z-promises { border-bottom: 1px solid var(--z-line); background: linear-gradient(180deg, #f7f9fc, #fff); }
.z-promises__list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; margin-block: 0; padding-block: 30px; list-style: none; }
.z-promise { display: flex; align-items: flex-start; gap: 14px; }
.z-promise__icon { display: grid; flex: none; place-items: center; width: 48px; height: 48px; border-radius: 12px; background: var(--z-cyan-soft); color: var(--z-cyan); }
.z-promise__icon .z-icon { width: 26px; height: 26px; }
.z-promise__text { display: grid; gap: 3px; }
.z-promise__text b { color: var(--z-ink); font-size: 15px; font-weight: 600; }
.z-promise__text span { color: var(--z-muted); font-size: 13px; line-height: 1.45; }
.z-footer__grid { display: grid; grid-template-columns: minmax(0, 1.3fr) repeat(4, minmax(0, 1fr)); gap: 32px; padding-block: 40px; }
.z-footer__brand { display: grid; align-content: start; gap: 12px; }
.z-footer__brand p { margin: 0; color: var(--z-muted); font-size: 14px; }
.z-footer__logo { display: inline-flex; justify-self: start; text-decoration: none; }
.z-footer__logo img { display: block; width: auto; height: 56px; max-width: 220px; object-fit: contain; }
.z-body .z-footer__follow { margin-top: 6px; color: var(--z-ink); font-weight: 600; }
.z-footer__col h2 { margin: 0 0 14px; color: var(--z-ink); font-size: 16px; font-weight: 600; }
.z-footer__col ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.z-footer__col a { color: var(--z-text); font-size: 14px; text-decoration: none; }
.z-footer__col a:hover { color: var(--z-navy); text-decoration: underline; text-underline-offset: .18em; }
.z-footer__col ul ul { display: none; }
.z-footer__grid > * { min-width: 0; }
.z-contact li { display: flex; align-items: flex-start; gap: 10px; min-width: 0; color: var(--z-text); font-size: 14px; }
.z-contact a { display: inline-flex; align-items: flex-start; gap: 10px; min-width: 0; }
.z-contact a span, .z-contact address { min-width: 0; overflow-wrap: anywhere; }
.z-contact .z-icon { width: 18px; height: 18px; margin-top: 1px; color: var(--z-cyan); }
.z-contact address { font-style: normal; line-height: 1.5; }
.z-social { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.z-social a { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--z-line); border-radius: 10px; color: var(--z-navy); }
.z-social a:hover { border-color: var(--z-navy); background: var(--z-navy-soft); }
/* ZFOOTERBADGES — alt bilginin güven şeridi: ödeme logoları solda, ETBİS kaydı sağda */
.z-footer__trust { border-top: 1px solid var(--z-line); }
.z-footer__trust-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 28px; padding-block: 18px; }
.z-paybadges { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; min-width: 0; }
.z-paybadges__label { display: inline-flex; align-items: center; gap: 7px; color: var(--z-ink); font-size: 13.5px; font-weight: 600; white-space: nowrap; }
.z-paybadges__label .z-icon { width: 18px; height: 18px; color: var(--z-green); }
.z-paybadges img { display: block; max-width: 100%; height: auto; width: auto; max-height: 50px; }
.z-etbis { display: inline-flex; align-items: center; gap: 10px; padding: 7px 14px 7px 8px; border: 1px solid var(--z-line); border-radius: 12px; background: #fff; color: var(--z-ink); text-decoration: none; transition: border-color .15s ease, box-shadow .15s ease; }
.z-etbis:hover { border-color: var(--z-line-strong); box-shadow: 0 2px 10px -4px rgba(22, 28, 64, .18); }
.z-etbis__mark { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: #fdecea; color: #c8102e; }
.z-etbis__mark .z-icon { width: 19px; height: 19px; }
.z-etbis__text { display: grid; line-height: 1.25; }
.z-etbis__text b { font-size: 13.5px; font-weight: 600; }
.z-etbis__text small { color: var(--z-muted); font-size: 12px; }
.z-etbis--image { padding: 4px; }
.z-etbis--image img { display: block; width: auto; max-width: 150px; height: auto; max-height: 64px; border-radius: 8px; }
@media (max-width: 560px) { .z-footer__trust-in { justify-content: flex-start; } .z-footer__trust-in > .z-etbis { margin-inline: auto; } }
.z-footer__bottom { border-top: 1px solid var(--z-line); background: #f8f9fb; color: var(--z-muted); font-size: 13px; }
.z-footer__bottom-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; padding-block: 16px; }
.z-footer__bottom p { margin: 0; }
.z-legal { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 0; padding: 0; list-style: none; }
.z-legal a { color: var(--z-muted); text-decoration: none; }
.z-legal a:hover { color: var(--z-navy); text-decoration: underline; }
.z-credit { color: #7c8292; }

/* Duyarlı düzen */
@media (max-width: 1180px) {
    .z-mainbar { gap: 20px; }
    .z-cart__label { display: none; }
    .z-promises__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .z-footer__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .z-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 1100px) {
    .z-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .z-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 959px) {
    .z-topbar, .z-nav { display: none; }
    .z-drawer { display: block; }
    .z-mainbar { grid-template-columns: 44px minmax(0, 1fr) auto; gap: 10px 12px; padding-block: 10px 12px; }
    .z-logo { justify-self: start; min-width: 0; }
    .z-logo img { height: 44px; max-width: 170px; }
    .z-logo__text { overflow: hidden; font-size: 19px; text-overflow: ellipsis; white-space: nowrap; }
    .z-search { grid-row: 2; grid-column: 1 / -1; max-width: none; }
    .z-search input { height: 46px; }
    .z-search button { top: 3px; }
    .z-mainbar__end { gap: 6px; }
    .z-actions { gap: 6px; }
    .z-account { width: 44px; padding: 0; justify-content: center; }
    .z-account span { display: none; }
    .z-cart { width: 44px; justify-content: center; }
    .z-hero { margin-top: 12px; }
    .z-hero__nav { display: none; }
    .z-body .product-detail.z-product { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 18px; }
    .z-category__layout { grid-template-columns: minmax(0, 1fr); }
    .z-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
    .z-grid, .z-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .z-banners__row--2 { grid-template-columns: minmax(0, 1fr); }
    .z-showcase { margin-top: 40px; }
    .z-promises__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
    .z-promise:last-child { grid-column: 1 / -1; }
    .z-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
}
@media (max-width: 640px) {
    .z-wrap { padding-inline: 16px; }
    .z-body .breadcrumbs.z-crumbs { padding-inline: 16px; }
    .z-hero__track, .z-banner { border-radius: 10px; }
    .z-hero__slide { aspect-ratio: 3 / 2; }
    .z-hero__slide img { object-position: 6% 50%; }
    .z-card__media { padding: 12px; }
    .z-card__body { gap: 8px; padding: 12px; }
    .z-card__title { font-size: 14px; }
    .z-card__now { font-size: 17px; }
    .z-card__price .z-chip { margin-left: 0; }
    .z-card__cta { height: 38px; }
    .z-card__perk { font-size: 12px; }
    .z-pricebox__now { font-size: 28px; }
    .z-body .z-desc__body { padding: 20px 18px; }
    .z-trust { gap: 4px; }
    .z-body .product-reviews { max-width: calc(100% - 32px); padding: 20px 18px; }
    .z-footer__bottom-in { justify-content: flex-start; }
}
@media (max-width: 420px) {
    .z-promises__list { grid-template-columns: minmax(0, 1fr); }
    .z-promise:last-child { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
    .z-hero__track { scroll-behavior: auto; }
    .z-card, .z-card:hover, .z-banner img, .z-banner a:hover img { transform: none; transition: none; }
}

/* ---- Favoriler, banka hesapları, ödeme bildirimi (şablon SFWISH + SFPAY) ---------------------------------------- */
.z-fav { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--z-ink); font-weight: 600; text-decoration: none; }
.z-fav:hover { color: var(--z-red); }
.z-fav .z-icon { width: 25px; height: 25px; }
.z-heart {
    flex: none; display: inline-grid; place-items: center; width: 52px; height: 52px; padding: 0;
    border: 1px solid var(--z-line-strong); border-radius: 10px; background: #fff; color: var(--z-navy); cursor: pointer;
}
.z-heart:hover { border-color: var(--z-red); color: var(--z-red); }
.z-heart.is-on { border-color: var(--z-red); background: #fff5f3; color: var(--z-red); }
.z-body .bank-account { border-color: var(--z-line); border-radius: 12px; box-shadow: 0 1px 2px rgba(20, 28, 70, .05); }
.z-body .bank-account h3 { color: var(--z-navy); }
.z-body .bank-account__iban { color: var(--z-ink); }
.z-body .payment-notification-form label > select { border-color: var(--z-line-strong); border-radius: 10px; }
@media (max-width: 1180px) { .z-fav__label { display: none; } }
@media (max-width: 959px) { .z-fav { width: 44px; justify-content: center; } }
.z-wishlist { padding-bottom: 8px; }
.z-wishlist__notice { margin: 0 0 16px; padding: 12px 16px; border: 1px solid var(--z-line); border-left: 3px solid var(--z-green); border-radius: 10px; background: #fff; font-weight: 600; }
.z-wishlist__empty { display: grid; justify-items: center; gap: 4px; }
.z-wishlist__emptyicon { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 8px; border-radius: 50%; background: #fff5f3; color: var(--z-red); }
.z-wishlist__emptyicon svg { width: 26px; height: 26px; }
.z-wishlist__search { display: flex; gap: 10px; width: min(100%, 560px); margin-top: 8px; }
.z-wishlist__empty .z-wishlist__browse { margin: 14px 0 0; }
.z-wishlist__search input { flex: 1; min-width: 0; min-height: 48px; padding: 0 14px; border: 1px solid var(--z-line-strong); border-radius: 10px; background: #fff; font: inherit; }
.z-card--wish .z-card__actions { position: relative; z-index: 3; display: flex; align-items: center; gap: 10px; }
.z-card--wish .z-card__actions form:first-child { flex: 1; }
.z-card--wish .z-card__actions .z-btn--primary { width: 100%; height: 44px; }
.z-card--wish .z-heart { width: 44px; height: 44px; }
.z-card__soldout { flex: 1; color: var(--z-muted); font-size: 13px; }
.z-buy .z-wish-notice { margin: 10px 0 0; color: var(--z-green-strong); font-size: 14px; font-weight: 600; }
@media (max-width: 520px) { .z-wishlist__search { flex-direction: column; } }

/* ---- Giriş ve üyelik (ZAUTH): solda form kartı, sağda hesabın faydaları; telefonda yalnız kart ------------------------------ */
.z-auth { display: grid; grid-template-columns: minmax(0, 480px) minmax(0, 1fr); gap: 28px; align-items: stretch; max-width: 1120px; padding-block: 36px 8px; }
.z-auth__card {
    padding: 30px 34px 28px; border: 1px solid var(--z-line); border-radius: 20px; background: #fff;
    box-shadow: 0 1px 2px rgba(22, 28, 64, .04), 0 16px 40px -18px rgba(22, 28, 64, .16);
}
.z-auth__tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin: 0 0 26px; padding: 4px; border-radius: 13px; background: var(--z-page); }
.z-auth__tabs a {
    display: grid; place-items: center; min-height: 42px; border-radius: 10px; color: var(--z-muted);
    font-size: 15px; font-weight: 600; text-decoration: none; transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}
.z-auth__tabs a:hover { color: var(--z-navy); }
.z-auth__tabs a[aria-current="page"] { background: #fff; color: var(--z-navy); box-shadow: 0 1px 2px rgba(22, 28, 64, .08), 0 2px 8px -2px rgba(22, 28, 64, .12); }
.z-auth__head h1 { margin: 0 0 6px; color: var(--z-ink); font-size: 26px; font-weight: 650; line-height: 1.2; letter-spacing: -.015em; }
.z-auth__head p { margin: 0 0 22px; color: var(--z-muted); font-size: 15px; line-height: 1.5; }
.z-body .z-auth .store-notice { max-width: none; margin: 0 0 18px; padding: 12px 14px; border: 1px solid rgba(0, 119, 176, .22); border-radius: 12px; background: var(--z-blue-soft); color: var(--z-ink); font-size: 14.5px; }
.z-body .z-auth .store-notice:has(#account-error) { border-color: #f1c7bf; background: #fff5f3; color: #8f2716; }
.z-auth .store-notice p { margin: 0; }
.z-auth__form { display: grid; gap: 16px; }
.z-field { display: grid; gap: 7px; }
.z-field__label { color: var(--z-ink); font-size: 14px; font-weight: 600; }
.z-field__row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.z-field__aside { color: var(--z-blue); font-size: 13.5px; font-weight: 600; text-decoration: none; }
.z-field__aside:hover { color: var(--z-blue-strong); text-decoration: underline; }
.z-field__control { position: relative; display: flex; align-items: center; }
.z-field__icon { position: absolute; left: 14px; width: 19px; height: 19px; color: var(--z-faint); pointer-events: none; }
.z-body .z-field__control input {
    width: 100%; min-height: 52px; margin: 0; padding: 0 14px 0 44px; border: 1px solid var(--z-line-strong); border-radius: 12px;
    background: #fff; color: var(--z-ink); font: inherit; font-size: 16px; transition: border-color .15s ease, box-shadow .15s ease;
}
.z-body .z-field__control:has(.z-field__reveal) input { padding-right: 50px; }
.z-body .z-field__control input::placeholder { color: var(--z-faint); opacity: .75; }
.z-body .z-field__control input:hover { border-color: #b9bfce; }
.z-body .z-field__control input:focus { outline: none; border-color: var(--z-navy); box-shadow: 0 0 0 4px rgba(43, 52, 132, .12); }
.z-body .z-field__control input[aria-invalid="true"] { border-color: var(--z-red); }
.z-body .z-field__control input[aria-invalid="true"]:focus { box-shadow: 0 0 0 4px rgba(216, 57, 31, .12); }
.z-field__control:focus-within .z-field__icon { color: var(--z-navy); }
.z-field__reveal {
    position: absolute; right: 6px; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 9px;
    background: transparent; color: var(--z-muted); cursor: pointer; transition: background .15s ease, color .15s ease;
}
.z-field__reveal[hidden] { display: none; }
.z-field__reveal:hover { background: var(--z-page); color: var(--z-navy); }
.z-field__reveal:focus-visible { outline: 2px solid var(--z-navy); outline-offset: -2px; }
.z-field__reveal svg { width: 19px; height: 19px; }
.z-field__eye-off, .z-field__reveal[aria-pressed="true"] .z-field__eye { display: none; }
.z-field__reveal[aria-pressed="true"] .z-field__eye-off { display: block; }
.z-field__hint { display: flex; align-items: center; gap: 6px; color: var(--z-muted); font-size: 13px; }
.z-field__hint[hidden] { display: none; }
.z-field__hint-icon { flex: none; width: 15px; height: 15px; color: var(--z-line-strong); transition: color .15s ease; }
.z-field__hint.is-ok { color: var(--z-green-strong); }
.z-field__hint.is-ok .z-field__hint-icon, .z-field__hint[data-z-confirm-hint] .z-field__hint-icon { color: var(--z-green); }
.z-field__hint[data-z-confirm-hint] { color: var(--z-green-strong); }
.z-auth__consent { display: flex; align-items: flex-start; gap: 10px; margin: 2px 0 0; color: var(--z-text); font-size: 14px; line-height: 1.5; cursor: pointer; }
.z-auth__consent input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--z-navy); }
.z-auth__consent a { color: var(--z-blue); font-weight: 600; }
.z-auth__submit.z-btn { width: 100%; min-height: 52px; margin-top: 4px; border-radius: 12px; }
.z-auth__switch { margin: 20px 0 0; color: var(--z-muted); font-size: 14.5px; text-align: center; }
.z-auth__switch a { color: var(--z-blue); font-weight: 600; text-decoration: none; }
.z-auth__switch a:hover { text-decoration: underline; }
.z-auth__social { display: grid; gap: 10px; }
.z-auth__social-btn {
    display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 16px;
    border: 1px solid var(--z-line-strong); border-radius: 12px; background: #fff; color: var(--z-ink);
    font-size: 15px; font-weight: 600; text-decoration: none; transition: border-color .15s ease, background .15s ease;
}
.z-auth__social-btn:hover { border-color: var(--z-navy); background: #fafbff; }
button.z-auth__social-btn { width: 100%; font-family: inherit; cursor: pointer; }
.z-auth__social-btn svg { flex: none; }
/* Sosyal düğmelerin altındaki tek satırlık açıklama (aynı düğme hem giriş hem üyelik). */
.z-auth__social-note { margin: 10px 0 0; color: var(--z-muted); font-size: 13px; line-height: 1.45; text-align: center; }
.z-auth__divider { display: flex; align-items: center; gap: 12px; margin: 18px 0; color: var(--z-faint); font-size: 13px; }
.z-auth__divider::before, .z-auth__divider::after { content: ""; flex: 1; height: 1px; background: var(--z-line); }

.z-auth__aside {
    position: relative; overflow: hidden; isolation: isolate; display: flex; flex-direction: column; justify-content: center;
    padding: 44px 48px; border-radius: 20px; color: #fff;
    background: radial-gradient(90% 80% at 100% 0%, rgba(47, 147, 196, .42) 0%, rgba(47, 147, 196, 0) 60%),
        linear-gradient(155deg, var(--z-navy) 0%, var(--z-navy-strong) 70%, #161b4f 100%);
}
.z-auth__aside::before {
    content: ""; position: absolute; inset: 0; z-index: -1; opacity: .5;
    background-image: radial-gradient(rgba(255, 255, 255, .22) 1px, transparent 1.4px); background-size: 20px 20px;
    -webkit-mask-image: radial-gradient(70% 60% at 100% 0%, #000 0%, transparent 70%); mask-image: radial-gradient(70% 60% at 100% 0%, #000 0%, transparent 70%);
}
.z-auth__kicker { margin: 0; color: #9fd8f2; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.z-auth__aside h2 { max-width: 16ch; margin: 10px 0 28px; color: #fff; font-size: clamp(26px, 2.5vw, 34px); font-weight: 650; line-height: 1.15; letter-spacing: -.02em; }
.z-auth__perks { display: grid; gap: 18px; max-width: 460px; margin: 0; padding: 0; list-style: none; }
.z-auth__perks li { display: flex; align-items: flex-start; gap: 14px; }
.z-auth__perk-icon { flex: none; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: rgba(255, 255, 255, .1); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); color: #bfe7f8; }
.z-auth__perk-icon svg { width: 21px; height: 21px; }
.z-auth__perks b { display: block; margin: 1px 0 2px; font-size: 15.5px; font-weight: 600; }
.z-auth__perks li > span:last-child { color: rgba(255, 255, 255, .76); font-size: 14px; line-height: 1.5; }
.z-auth__trust { display: flex; align-items: flex-start; gap: 10px; max-width: 460px; margin: 30px 0 0; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .14); color: rgba(255, 255, 255, .7); font-size: 13px; line-height: 1.5; }
.z-auth__trust svg { flex: none; width: 18px; height: 18px; color: #9fd8f2; }
@media (max-width: 959px) {
    .z-auth { grid-template-columns: minmax(0, 1fr); max-width: 600px; }
    .z-auth__aside { padding: 30px 28px; }
    .z-auth__aside h2 { max-width: none; margin-bottom: 20px; font-size: 24px; }
    .z-auth__perks { grid-template-columns: 1fr 1fr; gap: 16px 20px; }
    .z-auth__trust { display: none; }
}
@media (max-width: 640px) {
    .z-auth { padding-block: 20px 0; }
    .z-auth__card { padding: 22px 18px 22px; border-radius: 16px; }
    .z-auth__head h1 { font-size: 23px; }
    .z-auth__aside { display: none; }
}

/* ---- SFACCT: hesap alanı (kabuk, paneller, formlar, listeler, durum rozetleri) -------------------------------------------------------
   /hesabim altındaki bütün sayfalar `account/shell` ile aynı iskeleti kullanır: başlık + sol gezinme + içerik panelleri. Panel, form, rozet ve
   liste parçaları sepet, sipariş ve ödeme bildirimi sayfalarıyla paylaşılır. Dil, giriş ve hediye çeki sayfalarındakiyle aynıdır:
   beyaz kart, 16 px yarıçap, camgöbeği simge, lacivert vurgu. Durum renkleri: yeşil = tamam, amber = bekliyor, kırmızı = sorun, mavi = bilgi. */
.z-acct { max-width: 1120px; padding-block: 32px 8px; }
.z-acct__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px 24px; margin-bottom: 22px; }
.z-acct__kicker { margin: 0 0 6px; color: var(--z-blue-strong); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.z-acct__back { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 8px; color: var(--z-blue); font-size: 14px; font-weight: 600; text-decoration: none; }
.z-acct__back:hover { color: var(--z-blue-strong); text-decoration: underline; }
.z-acct__back svg { flex: none; }
.z-acct__head h1 { margin: 0; color: var(--z-ink); font-size: clamp(24px, 2.6vw, 32px); font-weight: 650; line-height: 1.2; letter-spacing: -.015em; overflow-wrap: anywhere; }
.z-acct__lead { margin: 8px 0 0; max-width: 62ch; color: var(--z-muted); font-size: 15px; line-height: 1.55; }
.z-acct__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.z-acct__layout { display: grid; grid-template-columns: 248px minmax(0, 1fr); gap: 28px; align-items: start; }
.z-acct__side { position: sticky; top: 20px; }
.z-acct__nav { display: grid; gap: 2px; padding: 8px; border: 1px solid var(--z-line); border-radius: 16px; background: #fff; }
.z-acct__nav a {
    display: flex; align-items: center; gap: 12px; min-height: 46px; padding: 0 14px; border-radius: 10px; color: var(--z-text);
    font-size: 15px; font-weight: 600; text-decoration: none; transition: background .15s ease, color .15s ease;
}
.z-acct__nav svg { flex: none; width: 20px; height: 20px; color: var(--z-faint); transition: color .15s ease; }
.z-acct__nav a:hover { background: var(--z-page); color: var(--z-navy); }
.z-acct__nav a:hover svg, .z-acct__nav a[aria-current="page"] svg { color: var(--z-navy); }
.z-acct__nav a[aria-current="page"] { background: var(--z-navy-soft); color: var(--z-navy); }
.z-acct__main { display: grid; gap: 18px; min-width: 0; }
.z-acct__main > .z-notice { margin: 0; }
.z-gift__body { display: grid; gap: 18px; }

/* Paneller */
.z-panel { min-width: 0; padding: 24px 26px; border: 1px solid var(--z-line); border-radius: 16px; background: #fff; }
.z-panel--tight { padding: 20px 22px; }
.z-panel--tight .z-panel__head { margin-bottom: 12px; }
.z-panel__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin: 0 0 18px; }
.z-panel__title { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--z-ink); font-size: 17px; font-weight: 600; }
.z-panel__title svg { flex: none; width: 20px; height: 20px; color: var(--z-cyan); }
.z-panel__count { display: inline-grid; place-items: center; min-width: 26px; height: 26px; padding: 0 8px; border-radius: 999px; background: var(--z-page); color: var(--z-muted); font-size: 13px; font-weight: 650; }
.z-panel__lead { margin: -6px 0 18px; max-width: 70ch; color: var(--z-muted); font-size: 14.5px; line-height: 1.55; }
.z-panel__lead--flush { margin: 0; }
.z-panel > .z-notice { margin: 0 0 16px; }
.z-panel--danger { border-color: #f1c7bf; }
.z-panel--danger .z-panel__title svg { color: var(--z-red); }

/* Karşılama ve kısayol kutuları */
.z-welcome { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 22px; }
.z-welcome__avatar {
    flex: none; display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; color: #fff; font-size: 24px; font-weight: 650;
    background: linear-gradient(155deg, var(--z-navy) 0%, var(--z-navy-strong) 100%);
}
.z-welcome__text { flex: 1 1 220px; min-width: 0; }
.z-welcome__hi { margin: 0 0 2px; color: var(--z-muted); font-size: 14px; }
.z-welcome__mail { margin: 0; color: var(--z-ink); font-size: 19px; font-weight: 650; overflow-wrap: anywhere; }
.z-welcome__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.z-welcome__actions form { margin: 0; }
.z-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.z-tile {
    display: flex; align-items: flex-start; gap: 14px; height: 100%; padding: 18px 20px; border: 1px solid var(--z-line); border-radius: 14px;
    background: #fff; color: inherit; text-decoration: none; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.z-tile:hover { border-color: var(--z-line-strong); box-shadow: var(--z-shadow-hover); transform: translateY(-1px); }
.z-tile__icon { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--z-cyan-soft); color: var(--z-blue); }
.z-tile__icon svg { width: 22px; height: 22px; }
.z-tile__text { min-width: 0; }
.z-tile__text b { display: block; margin-bottom: 2px; color: var(--z-ink); font-size: 15.5px; font-weight: 600; }
.z-tile__text span { display: block; color: var(--z-muted); font-size: 13.5px; line-height: 1.45; }
.z-tile__go { margin-left: auto; align-self: center; color: var(--z-faint); }
.z-tile__go svg { width: 18px; height: 18px; }

/* Formlar */
.z-form { display: grid; gap: 16px; }
.z-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.z-form__row--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.z-form__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin-top: 4px; }
.z-field > label { color: var(--z-ink); font-size: 14px; font-weight: 600; }
.z-field__opt { color: var(--z-faint); font-size: 13px; font-weight: 500; }
.z-field__static {
    display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 14px; border: 1px dashed var(--z-line-strong); border-radius: 12px;
    background: var(--z-page); color: var(--z-text); font-size: 16px; overflow-wrap: anywhere;
}
.z-field__static svg { flex: none; width: 19px; height: 19px; color: var(--z-faint); }
.z-field__static .z-field__static-lock { margin-left: auto; }
.z-body .z-field__control--plain input { padding-left: 14px; }
.z-body .z-field__control select, .z-body .z-field__control textarea {
    width: 100%; margin: 0; border: 1px solid var(--z-line-strong); border-radius: 12px; background: #fff; color: var(--z-ink);
    font: inherit; font-size: 16px; transition: border-color .15s ease, box-shadow .15s ease;
}
.z-body .z-field__control select { min-height: 52px; padding: 0 44px 0 14px; appearance: none; -webkit-appearance: none; cursor: pointer;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.5 6 6l4.5-4.5' fill='none' stroke='%235b6272' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 16px center / 12px 8px no-repeat; }
.z-body .z-field__control textarea { min-height: 112px; padding: 12px 14px; line-height: 1.5; resize: vertical; }
.z-body .z-field__control select:hover, .z-body .z-field__control textarea:hover { border-color: #b9bfce; }
.z-body .z-field__control select:focus, .z-body .z-field__control textarea:focus { outline: none; border-color: var(--z-navy); box-shadow: 0 0 0 4px rgba(43, 52, 132, .12); }
.z-body .z-field__control select[aria-invalid="true"], .z-body .z-field__control textarea[aria-invalid="true"] { border-color: var(--z-red); }
/* Tarih alanı: store.js `input[type=date]`i `.sf-date` kutusuyla sarar; kutu çerçeveyi taşır, içindeki yazı alanı çerçevesiz kalır (çift çerçeve olmasın). */
.z-body .z-field__control .sf-date { margin-top: 0; min-height: 52px; border-color: var(--z-line-strong); border-radius: 12px; }
.z-body .z-field__control .sf-date:hover { border-color: #b9bfce; }
.z-body .z-field__control .sf-date:focus-within, .z-body .z-field__control .sf-date.is-open { border-color: var(--z-navy); box-shadow: 0 0 0 4px rgba(43, 52, 132, .12); }
.z-body .z-field__control .sf-date .sf-date__text { width: auto; min-height: 50px; padding: 0 0 0 14px; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-size: 16px; }
.z-check { display: flex; align-items: center; gap: 10px; color: var(--z-text); font-size: 14.5px; cursor: pointer; }
.z-check input { flex: none; width: 18px; height: 18px; margin: 0; accent-color: var(--z-navy); }
.z-check input[aria-invalid="true"] { outline: 2px solid #a1281c; outline-offset: 2px; }

/* Düğme çeşitleri */
.z-btn--sm { min-height: 42px; padding: 0 16px; border-radius: 9px; font-size: 14.5px; gap: 8px; }
.z-btn--sm svg { width: 18px; height: 18px; }
.z-btn--text { min-height: 40px; padding: 0 10px; border-color: transparent; background: transparent; color: var(--z-blue); font-size: 14.5px; gap: 7px; }
.z-btn--text:hover { background: var(--z-blue-soft); }
.z-btn--text-danger { color: #b3261e; }
.z-btn--text-danger:hover { background: #fff5f3; }
.z-btn--icon { width: 40px; min-width: 40px; padding: 0; }
.z-btn--danger { border-color: #e7b4aa; background: #fff; color: #b3261e; }
.z-btn--danger:hover { border-color: var(--z-red); background: #fff5f3; }

/* Durum rozetleri: nokta + metin; renk yalnız süstür */
.z-pill {
    display: inline-flex; align-items: center; gap: 7px; min-height: 26px; padding: 0 11px; border-radius: 999px; background: var(--z-page); color: var(--z-text);
    font-size: 12.5px; font-weight: 650; line-height: 1; white-space: nowrap;
}
.z-pill::before { flex: none; width: 7px; height: 7px; border-radius: 50%; background: currentColor; content: ""; opacity: .85; }
.z-pill--success { background: #e9f7ef; color: #11633a; }
.z-pill--warning { background: #fff3df; color: #8a4b05; }
.z-pill--danger { background: #fdecea; color: #a1281c; }
.z-pill--info { background: var(--z-blue-soft); color: #005f8a; }
.z-pill--neutral { background: var(--z-page); color: var(--z-muted); }

/* Boş durumlar */
.z-empty-panel { display: grid; justify-items: center; gap: 8px; padding: 44px 24px; text-align: center; }
.z-empty-panel__icon { display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 6px; border-radius: 50%; background: var(--z-cyan-soft); color: var(--z-blue); }
.z-empty-panel__icon svg { width: 28px; height: 28px; }
.z-empty-panel h2 { margin: 0; color: var(--z-ink); font-size: 19px; font-weight: 600; }
.z-empty-panel p { max-width: 44ch; margin: 0 0 8px; color: var(--z-muted); font-size: 15px; line-height: 1.55; }
.z-empty-inline { display: flex; align-items: center; gap: 12px; padding: 16px 18px; border: 1px dashed var(--z-line-strong); border-radius: 12px; color: var(--z-muted); }
.z-empty-inline svg { flex: none; width: 22px; height: 22px; color: var(--z-faint); }
.z-empty-inline p { margin: 0; }

/* Adres defteri */
.z-addrs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.z-addr { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 18px 20px; border: 1px solid var(--z-line); border-radius: 14px; background: #fff; }
.z-addr.is-default { border-color: rgba(0, 119, 176, .42); box-shadow: inset 0 0 0 1px rgba(0, 119, 176, .14); }
.z-addr__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.z-addr__label { margin: 0; color: var(--z-ink); font-size: 16px; font-weight: 600; overflow-wrap: anywhere; }
.z-addr__name { margin: 2px 0 0; color: var(--z-ink); font-size: 14.5px; font-weight: 600; }
.z-addr__lines { display: grid; gap: 1px; margin: 0; color: var(--z-text); font-size: 14.5px; font-style: normal; line-height: 1.55; overflow-wrap: anywhere; }
.z-addr__phone { display: flex; align-items: center; gap: 8px; margin: 2px 0 0; color: var(--z-muted); font-size: 13.5px; }
.z-addr__phone svg { flex: none; width: 16px; height: 16px; }
.z-addr__tools { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--z-line-soft); }
.z-addr__tools form { margin: 0; }
.z-addr__tools > .z-btn--ghost { margin-right: auto; }
.z-addr__tools .z-btn--sm { padding-inline: 12px; }
.z-addr__tools .z-btn--text { padding-inline: 8px; }
.z-addr__tools .z-btn--icon { padding-inline: 0; }
.z-addr__edit { margin-top: 10px; padding-top: 14px; border-top: 1px solid var(--z-line-soft); }
.z-addr__edit[hidden] { display: none; }

/* Sipariş listesi */
.z-orders { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.z-order {
    position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: center; gap: 8px 18px; padding: 16px 20px;
    border: 1px solid var(--z-line); border-radius: 14px; background: #fff; transition: border-color .15s ease, box-shadow .15s ease;
}
.z-order:hover { border-color: var(--z-line-strong); box-shadow: var(--z-shadow-hover); }
.z-order__main { display: grid; gap: 2px; min-width: 0; }
.z-order__no { color: var(--z-ink); font-size: 16px; font-weight: 650; text-decoration: none; overflow-wrap: anywhere; }
.z-order__no::after { position: absolute; inset: 0; border-radius: 14px; content: ""; }
.z-order__no:focus-visible { outline: none; }
.z-order:focus-within { box-shadow: 0 0 0 3px var(--z-navy); }
.z-order__date { color: var(--z-muted); font-size: 13.5px; font-variant-numeric: tabular-nums; }
.z-order__states { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.z-order__amount { min-width: 118px; color: var(--z-ink); font-size: 17px; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.z-order__go { display: grid; place-items: center; color: var(--z-faint); }
.z-order__go svg { width: 18px; height: 18px; }
.z-acctpager { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; }
.z-acctpager__info { color: var(--z-muted); font-size: 14px; font-variant-numeric: tabular-nums; }

/* Sipariş detayı: özet, adımlar, havale yönergesi, kalemler, bilgi kartları */
.z-osum__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 16px 24px; margin: 0; }
.z-osum__grid > div { display: grid; align-content: start; gap: 6px; min-width: 0; }
.z-osum__grid dt { color: var(--z-muted); font-size: 12.5px; font-weight: 600; }
.z-osum__grid dd { margin: 0; color: var(--z-ink); font-size: 15px; font-weight: 600; overflow-wrap: anywhere; }
.z-osum__grid .z-pill { max-width: 100%; padding-block: 6px; line-height: 1.25; white-space: normal; }
.z-osum__grid > div:first-child { grid-column: span 2; }
.z-osum__grid .z-osum__amount { font-size: 21px; font-weight: 700; font-variant-numeric: tabular-nums; }
.z-steps { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; margin: 24px 0 0; padding: 22px 0 0; border-top: 1px solid var(--z-line-soft); list-style: none; }
.z-step { position: relative; display: grid; justify-items: center; align-content: start; gap: 10px; padding: 0 6px; text-align: center; }
.z-step:not(:last-child)::after { position: absolute; top: 13px; right: calc(-50% + 20px); left: calc(50% + 20px); height: 2px; border-radius: 2px; background: var(--z-line); content: ""; }
.z-step.is-done:not(:last-child)::after { background: var(--z-navy); }
.z-step__dot { position: relative; z-index: 1; display: grid; place-items: center; width: 28px; height: 28px; border: 2px solid var(--z-line-strong); border-radius: 50%; background: #fff; color: #fff; }
.z-step.is-done .z-step__dot { border-color: var(--z-navy); background: var(--z-navy); }
.z-step.is-current .z-step__dot { border-color: var(--z-navy); box-shadow: 0 0 0 4px rgba(43, 52, 132, .14); }
.z-step.is-current .z-step__dot::after { width: 10px; height: 10px; border-radius: 50%; background: var(--z-navy); content: ""; }
.z-step__dot svg { width: 15px; height: 15px; stroke-width: 2.8; }
.z-step__label { display: block; color: var(--z-muted); font-size: 13.5px; font-weight: 600; line-height: 1.3; }
.z-step.is-done .z-step__label, .z-step.is-current .z-step__label { color: var(--z-ink); }
.z-step__at { display: block; margin-top: 2px; color: var(--z-faint); font-size: 12px; font-variant-numeric: tabular-nums; }
.z-transfer { border-color: #f0dcae; background: #fffdf7; }
.z-transfer__ref { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-bottom: 14px; padding: 14px 16px; border: 1px dashed #e0c98d; border-radius: 12px; background: #fff; }
.z-transfer__ref-label { color: var(--z-muted); font-size: 13px; }
.z-transfer__ref-value { color: var(--z-ink); font-size: 17px; font-weight: 700; letter-spacing: .03em; font-variant-numeric: tabular-nums; }
.z-transfer__due { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 14px; color: #8a4b05; font-size: 14px; line-height: 1.5; }
.z-transfer__due svg { flex: none; width: 18px; height: 18px; margin-top: 1px; }
.z-transfer__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 18px; color: var(--z-muted); font-size: 13.5px; }
.z-bank-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.z-bank { min-width: 0; padding: 16px 18px; border: 1px solid var(--z-line); border-radius: 14px; background: #fff; }
.z-bank__head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.z-bank__icon { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--z-cyan-soft); color: var(--z-blue); }
.z-bank__icon svg { width: 20px; height: 20px; }
.z-bank__name { margin: 0; color: var(--z-ink); font-size: 16px; font-weight: 600; overflow-wrap: anywhere; }
.z-bank__currency { color: var(--z-muted); font-size: 12px; font-weight: 700; letter-spacing: .08em; }
.z-bank__rows { display: grid; gap: 10px; margin: 0; }
.z-bank__rows > div { display: grid; gap: 2px; min-width: 0; }
.z-bank__rows dt { color: var(--z-muted); font-size: 12.5px; }
.z-bank__rows dd { margin: 0; color: var(--z-ink); font-size: 14.5px; font-weight: 600; overflow-wrap: anywhere; }
.z-bank__iban-row dd { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.z-bank__iban { font-variant-numeric: tabular-nums; letter-spacing: .04em; }
.z-bank__copy {
    display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 10px; border: 1px solid var(--z-line-strong); border-radius: 8px;
    background: #fff; color: var(--z-navy); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.z-bank__copy[hidden] { display: none; }
.z-bank__copy:hover { border-color: var(--z-navy); background: #fafbff; }
.z-bank__copy.is-copied { border-color: #bfe3cc; background: #f1faf4; color: var(--z-green-strong); }
.z-bank__note { margin: 12px 0 0; color: var(--z-muted); font-size: 13px; line-height: 1.5; }
.z-bank--compact { padding: 14px 16px; }
.z-bank--compact .z-bank__head { margin-bottom: 8px; }
.z-bank--compact .z-bank__rows { gap: 6px; }
.z-bank--compact .z-bank__rows dt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.z-bank--compact .z-bank__rows dd { font-size: 13.5px; font-weight: 500; }
.z-bank--compact .z-bank__iban-row dd { font-size: 14px; font-weight: 650; }
.z-bank--compact .z-bank__note { margin-top: 8px; font-size: 12px; }
.z-lines { margin: 0; padding: 0; list-style: none; }
.z-line { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: baseline; gap: 4px 18px; padding: 14px 0; border-top: 1px solid var(--z-line-soft); }
.z-line:first-child { padding-top: 0; border-top: 0; }
.z-line__main { display: grid; gap: 2px; min-width: 0; }
.z-line__main strong { color: var(--z-ink); font-size: 15px; font-weight: 600; overflow-wrap: anywhere; }
.z-line__opt { color: var(--z-muted); font-size: 13.5px; }
.z-line__qty { color: var(--z-muted); font-size: 14px; font-variant-numeric: tabular-nums; }
.z-line__amount { min-width: 96px; color: var(--z-ink); font-size: 15px; font-variant-numeric: tabular-nums; text-align: right; }
.z-line__more { margin: 0; padding-top: 12px; border-top: 1px solid var(--z-line-soft); color: var(--z-muted); font-size: 13.5px; }
.z-totals { display: grid; gap: 8px; margin: 18px 0 0; padding-top: 16px; border-top: 1px solid var(--z-line); }
.z-totals > div { display: flex; justify-content: space-between; gap: 16px; color: var(--z-text); font-size: 14.5px; }
.z-totals dd { margin: 0; font-variant-numeric: tabular-nums; }
.z-totals .is-total { margin-top: 4px; padding-top: 12px; border-top: 1px dashed var(--z-line-strong); color: var(--z-ink); font-size: 17px; font-weight: 700; }
.z-infogrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.z-addr-text { display: grid; gap: 2px; margin: 0; color: var(--z-text); font-size: 14.5px; font-style: normal; line-height: 1.55; overflow-wrap: anywhere; }
.z-addr-text strong { color: var(--z-ink); font-weight: 600; }
.z-addr-text__phone { margin-top: 4px; color: var(--z-muted); font-size: 13.5px; }
.z-facts { display: grid; gap: 10px; margin: 0; }
.z-facts > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 16px; }
.z-facts dt { color: var(--z-muted); font-size: 13.5px; }
.z-facts dd { margin: 0; color: var(--z-ink); font-size: 14.5px; font-weight: 600; overflow-wrap: anywhere; }
.z-facts--stack > div { display: grid; gap: 1px; }
.z-ship { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.z-ship__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 10px; }
.z-ship__top strong { color: var(--z-ink); font-size: 15px; font-weight: 600; }
.z-ship__code { margin: 6px 0 0; color: var(--z-muted); font-size: 13.5px; overflow-wrap: anywhere; }
.z-ship__code b { color: var(--z-ink); letter-spacing: .02em; }
.z-ship__code a { color: var(--z-blue); font-weight: 600; }

/* İade talebi */
.z-picklist { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.z-pick { position: relative; display: flex; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid var(--z-line-strong); border-radius: 12px; background: #fff; cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.z-pick:hover { border-color: #b9bfce; }
.z-pick input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.z-pick__box { flex: none; display: grid; place-items: center; width: 24px; height: 24px; border: 2px solid var(--z-line-strong); border-radius: 7px; background: #fff; color: transparent; transition: border-color .15s ease, background .15s ease, color .15s ease; }
.z-pick__box svg { width: 14px; height: 14px; stroke-width: 3; }
.z-pick input:checked + .z-pick__box { border-color: var(--z-navy); background: var(--z-navy); color: #fff; }
.z-pick input:focus-visible + .z-pick__box { outline: 3px solid #1b6fd1; outline-offset: 2px; }
.z-pick:has(input:checked) { border-color: var(--z-navy); background: var(--z-navy-soft); }
.z-pick__text { display: grid; gap: 2px; min-width: 0; }
.z-pick__text strong { color: var(--z-ink); font-size: 15px; font-weight: 600; overflow-wrap: anywhere; }
.z-pick__text small { color: var(--z-muted); font-size: 13px; }
.z-return { display: grid; gap: 18px; }

/* Parola, doğrulama ve durum sayfaları: giriş kartının tek sütunlu hâli */
.z-authpage { display: grid; justify-items: center; padding-block: 40px 16px; }
.z-authpage__card { width: min(100%, 480px); }
.z-authpage__icon { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 18px; border-radius: 16px; background: var(--z-blue-soft); color: var(--z-blue); }
.z-auth__card .z-notice { margin: 0 0 18px; }
.z-state { display: grid; justify-items: center; padding-block: 56px 24px; }
.z-state__card { display: grid; justify-items: center; gap: 10px; width: min(100%, 520px); padding: 40px 32px; border: 1px solid var(--z-line); border-radius: 20px; background: #fff; text-align: center; }
.z-state__icon { display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 6px; border-radius: 50%; background: var(--z-cyan-soft); color: var(--z-blue); }
.z-state__card h1 { margin: 0; color: var(--z-ink); font-size: clamp(22px, 2.4vw, 26px); font-weight: 650; line-height: 1.25; letter-spacing: -.015em; text-wrap: balance; }
.z-state__card p { max-width: 42ch; margin: 0 0 8px; color: var(--z-muted); font-size: 15px; line-height: 1.55; }

/* Favori ızgarası hesap kabuğunda daha dar sütunlara bölünür */
.z-acct .z-grid--wish { grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); gap: 16px; }

@media (max-width: 859px) {
    .z-acct__layout { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .z-acct__side { position: static; }
    .z-acct__nav { display: flex; gap: 4px; padding: 4px; overflow-x: auto; border-radius: 13px; scrollbar-width: none; scroll-snap-type: x proximity; }
    .z-acct__nav::-webkit-scrollbar { display: none; }
    .z-acct__nav a { flex: none; min-height: 42px; padding: 0 14px; white-space: nowrap; scroll-snap-align: center; }
    .z-infogrid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
    .z-acct { padding-block: 20px 0; }
    .z-acct__head { margin-bottom: 16px; }
    .z-acct__actions .z-btn { flex: 1 1 auto; }
    .z-panel { padding: 18px; border-radius: 14px; }
    .z-panel--tight { padding: 16px 18px; }
    .z-welcome__avatar { width: 52px; height: 52px; font-size: 21px; }
    .z-welcome__actions { width: 100%; }
    .z-welcome__actions > * { flex: 1 1 auto; }
    .z-welcome__actions form .z-btn { width: 100%; }
    .z-tiles { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .z-tile { padding: 14px 16px; }
    .z-form__row, .z-form__row--3 { grid-template-columns: minmax(0, 1fr); }
    .z-addrs { grid-template-columns: minmax(0, 1fr); }
    .z-order { grid-template-columns: minmax(0, 1fr) auto; padding: 14px 16px; }
    .z-order__states { grid-column: 1 / -1; grid-row: 2; }
    .z-order__amount { grid-column: 1; grid-row: 3; text-align: left; }
    .z-order__go { grid-column: 2; grid-row: 1; }
    .z-steps { grid-auto-flow: row; padding-top: 18px; }
    .z-step { grid-template-columns: 28px minmax(0, 1fr); justify-items: start; align-items: start; gap: 4px 12px; padding: 0 0 18px; text-align: left; }
    .z-step:last-child { padding-bottom: 0; }
    .z-step:not(:last-child)::after { top: 32px; right: auto; bottom: 4px; left: 13px; width: 2px; height: auto; }
    .z-step__text { padding-top: 3px; }
    .z-line { grid-template-columns: minmax(0, 1fr) auto; }
    .z-line__qty { grid-column: 1; grid-row: 2; }
    .z-line__amount { grid-column: 2; grid-row: 1 / span 2; align-self: center; min-width: 0; }
    .z-bank-list { grid-template-columns: minmax(0, 1fr); }
    .z-transfer__cta .z-btn { width: 100%; }
    .z-state__card { padding: 32px 22px; }
    .z-authpage { padding-block: 24px 8px; }
    .z-acct .z-grid--wish { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .z-tile, .z-tile:hover { transform: none; transition: none; }
}

/* ---- SFCART: sepet (/sepet) -----------------------------------------------------------------------------------------------------
   Solda ürün satırları (görsel, ad, seçenek, adet, kaldır, satır toplamı), sağda masaüstünde yapışkan sipariş özeti kartı. Satırlar ve özet
   hesap alanıyla aynı panel dilindedir (z-panel, z-btn, z-notice). Adet −/+ düğmeleri betikle açılır ve adet anında uygulanır; "Güncelle" yalnız betik yokken görünür. */
.z-cartpage { max-width: 1120px; padding-block: 32px 8px; }
.z-cartpage__head { margin-bottom: 22px; }
.z-cartpage__head h1 { margin: 0; color: var(--z-ink); font-size: clamp(24px, 2.6vw, 32px); font-weight: 650; line-height: 1.2; letter-spacing: -.015em; }
.z-cartpage__count { margin-left: 6px; color: var(--z-muted); font-size: 16px; font-weight: 500; letter-spacing: 0; white-space: nowrap; }
.z-cartpage > .z-notice { margin: 0 0 18px; }
.z-cartpage__layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start; }
.z-cartlines { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.z-cartline { display: grid; grid-template-columns: 104px minmax(0, 1fr) auto; gap: 18px; padding: 16px; border: 1px solid var(--z-line); border-radius: 16px; background: #fff; }
.z-cartline__media { display: grid; place-items: center; width: 104px; height: 104px; overflow: hidden; border: 1px solid var(--z-line-soft); border-radius: 12px; background: #fff; text-decoration: none; }
.z-cartline__media img { width: 100%; height: 100%; padding: 8px; object-fit: contain; }
.z-cartline.is-unavailable .z-cartline__media img { opacity: .55; }
.z-cartline__body { display: grid; align-content: start; gap: 4px; min-width: 0; }
.z-cartline__title { margin: 0; font-size: 15.5px; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
.z-cartline__title a { color: var(--z-ink); text-decoration: none; }
.z-cartline__title a:hover { color: var(--z-navy); text-decoration: underline; }
.z-cartline__opt, .z-cartline__unit { margin: 0; color: var(--z-muted); font-size: 13.5px; }
.z-cartline__stock { display: flex; align-items: center; gap: 6px; margin: 2px 0 0; color: #a1281c; font-size: 13px; font-weight: 600; }
.z-cartline__stock svg { flex: none; }
.z-cartline__actions { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 16px; margin-top: 10px; }
.z-cartline__remove { margin: 0; }
.z-cartline__qty-static { margin: 8px 0 0; color: var(--z-muted); font-size: 14px; }
.z-cartline__total { align-self: start; color: var(--z-ink); font-size: 18px; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.z-cartqty { display: flex; align-items: flex-end; gap: 10px; margin: 0; }
.z-cartqty__field { display: grid; gap: 4px; }
.z-cartqty__label { color: var(--z-muted); font-size: 12.5px; font-weight: 600; }
.z-cartqty__control { display: inline-flex; align-items: center; overflow: hidden; border: 1px solid var(--z-line-strong); border-radius: 10px; background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
.z-cartqty__control:focus-within { border-color: var(--z-navy); box-shadow: 0 0 0 4px rgba(43, 52, 132, .12); }
.z-cartqty__control input { width: 64px; min-height: 42px; margin: 0; padding: 0 6px; border: 0; background: transparent; color: var(--z-ink); font: inherit; font-size: 16px; font-variant-numeric: tabular-nums; text-align: center; }
.z-cartqty__control input:focus { outline: none; }
.z-cartqty__control:has(.z-cartqty__step:not([hidden])) input { width: 52px; -moz-appearance: textfield; appearance: textfield; }
.z-cartqty__control input::-webkit-outer-spin-button, .z-cartqty__control input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
.z-cartqty__step { display: grid; place-items: center; width: 40px; height: 42px; padding: 0; border: 0; background: #fff; color: var(--z-navy); cursor: pointer; transition: background .15s ease; }
.z-cartqty__step[hidden] { display: none; }
.z-cartqty__step:hover { background: var(--z-page); }
.z-cartqty.is-live .z-cartqty__apply { display: none; }
.z-cartpage__note { margin: 14px 0 0; padding: 12px 16px; border: 1px solid var(--z-line); border-radius: 12px; background: #fff; color: var(--z-muted); font-size: 13.5px; }
.z-cartpage__continue { margin: 18px 0 0; }
.z-cartpage__summary { position: sticky; top: 20px; }
.z-summary { display: grid; gap: 14px; padding: 22px 24px; }
.z-summary .z-panel__title { margin: 0; }
.z-summary__rows { display: grid; gap: 8px; margin: 0; }
.z-summary__rows > div { display: flex; justify-content: space-between; gap: 16px; color: var(--z-text); font-size: 14.5px; }
.z-summary__rows dd { margin: 0; font-variant-numeric: tabular-nums; }
.z-summary__rows .is-total { padding-top: 14px; border-top: 1px solid var(--z-line); color: var(--z-ink); font-size: 19px; font-weight: 700; }
.z-summary__note { margin: 0; color: var(--z-muted); font-size: 13px; line-height: 1.5; }
.z-summary__perk { display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 10px 12px; border-radius: 10px; background: var(--z-cyan-soft); color: var(--z-blue-strong); font-size: 13.5px; font-weight: 600; line-height: 1.4; }
.z-summary__perk svg { flex: none; margin-top: 1px; }
.z-summary__cta.z-btn { width: 100%; min-height: 52px; border-radius: 12px; }
.z-summary__cta.z-btn:disabled { border-color: var(--z-line-strong); background: #e8ebf2; color: var(--z-muted); cursor: not-allowed; }
.z-summary__coupon, .z-summary__secure { display: flex; align-items: flex-start; gap: 8px; margin: 0; color: var(--z-muted); font-size: 13px; line-height: 1.45; }
.z-summary__coupon svg, .z-summary__secure svg { flex: none; margin-top: 1px; color: var(--z-faint); }
.z-summary__secure { padding-top: 14px; border-top: 1px solid var(--z-line-soft); }
.z-empty-panel__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 4px; }
@media (max-width: 959px) {
    .z-cartpage__layout { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .z-cartpage__summary { position: static; }
}
@media (max-width: 640px) {
    .z-cartpage { padding-block: 20px 0; }
    .z-cartpage__head { margin-bottom: 16px; }
    .z-cartline { grid-template-columns: 76px minmax(0, 1fr); grid-template-areas: "media body" "total total"; gap: 12px 14px; padding: 14px; border-radius: 14px; }
    .z-cartline__media { grid-area: media; width: 76px; height: 76px; }
    .z-cartline__body { grid-area: body; }
    .z-cartline__total { grid-area: total; align-self: auto; padding-top: 12px; border-top: 1px dashed var(--z-line-strong); font-size: 17px; text-align: right; }
    .z-summary { padding: 18px; }
    .z-empty-panel__actions .z-btn { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) { .z-cartqty__control, .z-cartqty__step { transition: none; } }
/* CKTMORE — sepetin altında "diğer ürünler": sepettekilerden FARKLI kategorilerden en çok 4 kart; doğrudan eklenebilen kartta gerçek bir "Sepete ekle" formu,
   çok seçenekli üründe "Ürüne git". Adet anında uygulanırken (customer.js) sepet bölümü `is-busy` olur: satırlar ve özet soluklaşır, denetimler kapalıdır. */
.z-cartpage.is-busy { cursor: progress; }
.z-cartpage.is-busy .z-cartlines, .z-cartpage.is-busy .z-summary { opacity: .6; pointer-events: none; transition: opacity .15s ease; }
.z-cartmore { margin-top: 32px; }
.z-cartmore__head { margin-bottom: 16px; }
.z-cartmore__head h2 { margin: 0; color: var(--z-ink); font-size: clamp(19px, 2vw, 22px); font-weight: 650; letter-spacing: -.01em; }
.z-cartmore__head p { margin: 4px 0 0; color: var(--z-muted); font-size: 14.5px; }
.z-cartmore__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.z-cartmore__card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--z-line); border-radius: 16px; background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
.z-cartmore__card:hover { border-color: var(--z-line-strong); box-shadow: var(--z-shadow-hover); }
.z-cartmore__media { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 3; border-bottom: 1px solid var(--z-line-soft); background: #fff; text-decoration: none; }
.z-cartmore__media img { position: absolute; inset: 0; width: 100%; height: 100%; padding: 12px; object-fit: contain; }
.z-cartmore__media .z-card__noimg { position: absolute; inset: 0; display: grid; place-items: center; }
.z-cartmore__body { display: flex; flex: 1 1 auto; flex-direction: column; gap: 8px; padding: 14px 16px 16px; }
.z-cartmore__title { display: -webkit-box; overflow: hidden; margin: 0; font-size: 14.5px; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.z-cartmore__title a { color: var(--z-ink); text-decoration: none; }
.z-cartmore__title a:hover { color: var(--z-navy); text-decoration: underline; }
.z-cartmore__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin: 0; color: var(--z-ink); font-variant-numeric: tabular-nums; }
.z-cartmore__price strong { font-size: 17px; font-weight: 700; }
.z-cartmore__price del { color: var(--z-faint); font-size: 13px; }
.z-cartmore__add, .z-cartmore__body > .z-btn { margin: auto 0 0; }
.z-cartmore__add .z-btn, .z-cartmore__body > .z-btn { width: 100%; }
@media (max-width: 820px) { .z-cartmore__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }
@media (max-width: 640px) {
    .z-cartmore { margin-top: 24px; }
    .z-cartmore__body { padding: 12px 12px 14px; }
    .z-cartmore__add .z-btn, .z-cartmore__body > .z-btn { padding-inline: 10px; }
}
@media (prefers-reduced-motion: reduce) { .z-cartmore__card, .z-cartpage.is-busy .z-cartlines, .z-cartpage.is-busy .z-summary { transition: none; } }

.z-legaldoc { display: grid; justify-items: center; padding-block: 32px 8px; }
.z-legaldoc__card { width: min(100%, 820px); padding: 32px 36px; }
.z-legaldoc__head h1 { margin: 0; color: var(--z-ink); font-size: clamp(22px, 2.4vw, 28px); font-weight: 650; line-height: 1.25; letter-spacing: -.015em; }
.z-legaldoc__ver { margin: 6px 0 0; color: var(--z-muted); font-size: 14px; }
.z-legaldoc__body { margin: 22px 0 0; padding-top: 22px; border-top: 1px solid var(--z-line-soft); color: var(--z-text); font-size: 15.5px; line-height: 1.7; overflow-wrap: anywhere; }
.z-legaldoc__back { margin: 26px 0 0; }
@media (max-width: 640px) { .z-legaldoc { padding-block: 20px 0; } .z-legaldoc__card { padding: 22px 18px; } }

/* ---- SFNOTIFY: ödeme bildirimi (/odeme-bildirimi) ve sipariş sorgulama; başarı durumu -----------------------------------------------
   Solda üç bölümlü form (sipariş, ödeme, not), sağda mağazanın etkin banka hesapları (sipariş sayfasıyla aynı banka kartı). Başarıda form yerine
   onay paneli basılır. Aynı panel, alan ve düğme parçaları hesap alanıyla paylaşılır. */
.z-notify { max-width: 1120px; padding-block: 32px 8px; }
.z-notify__head { margin-bottom: 22px; }
.z-notify__head h1 { margin: 0; color: var(--z-ink); font-size: clamp(24px, 2.6vw, 32px); font-weight: 650; line-height: 1.2; letter-spacing: -.015em; }
.z-notify__layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start; }
.z-notify__main { display: grid; gap: 18px; min-width: 0; }
.z-notify__main > .z-notice { margin: 0; }
.z-notify__form { gap: 18px; }
.z-notify__aside { position: sticky; top: 20px; }
.z-notify__submit.z-btn { min-height: 52px; padding-inline: 28px; border-radius: 12px; }
.z-bank-list--stack { grid-template-columns: minmax(0, 1fr); }
.z-field__hint--block { margin: -4px 0 0; }
/* RCPT — isteğe bağlı dekont alanı: yerel dosya seçici (sürükle-bırakı tarayıcı yapar), diğer alanlarla aynı çerçeve dili. */
.z-file__input {
    width: 100%; margin: 0; padding: 10px; border: 1px dashed var(--z-line-strong); border-radius: 12px; background: #fff; color: var(--z-muted);
    font: inherit; font-size: 14px; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.z-file__input:hover { border-color: #b9bfce; background: #fafbfd; }
.z-file__input:focus-visible { outline: none; border-color: var(--z-navy); box-shadow: 0 0 0 4px rgba(43, 52, 132, .12); }
.z-file__input::file-selector-button {
    margin: 0 12px 0 0; padding: 9px 16px; border: 1px solid var(--z-line-strong); border-radius: 9px; background: var(--z-page); color: var(--z-ink);
    font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; transition: border-color .15s ease, background .15s ease;
}
.z-file__input:hover::file-selector-button { border-color: #b9bfce; background: #eef1f8; }
.z-file__input[aria-invalid="true"] { border-color: var(--z-red); }
.z-file__error { margin: 0; color: #8f2716; font-size: 13.5px; font-weight: 600; }
.z-file__error[hidden] { display: none; }
.z-done { display: grid; justify-items: center; gap: 10px; max-width: 640px; margin-inline: auto; padding: 44px 32px; text-align: center; }
.z-done__icon { display: grid; place-items: center; width: 72px; height: 72px; margin-bottom: 6px; border-radius: 50%; background: #e9f7ef; color: var(--z-green); }
.z-done h2 { margin: 0; color: var(--z-ink); font-size: 22px; font-weight: 650; letter-spacing: -.01em; }
.z-done p { max-width: 46ch; margin: 0; color: var(--z-muted); font-size: 15px; line-height: 1.6; }
.z-done__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 14px; }
.z-done .z-done__again { margin-top: 6px; font-size: 14px; }
.z-done__again a { color: var(--z-blue); font-weight: 600; }
@media (max-width: 959px) {
    .z-notify__layout { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .z-notify__aside { position: static; }
}
@media (max-width: 640px) {
    .z-notify { padding-block: 20px 0; }
    .z-notify__head { margin-bottom: 16px; }
    .z-notify__submit.z-btn { width: 100%; }
    .z-done { padding: 32px 20px; }
    .z-done__actions .z-btn { flex: 1 1 auto; }
}

/* ---- SFTRACK: sipariş durumu (/siparis-takip/durum) — hesaptaki sipariş sayfasının hesapsız karşılığı: aynı adımlar, kargo, kalem ve banka parçaları ---- */
.z-track__layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start; }
.z-track__main { display: grid; gap: 18px; min-width: 0; }
.z-track__aside { position: sticky; top: 20px; }
.z-track__placed { margin-left: 8px; color: var(--z-muted); font-size: 14px; }
.z-track .z-acct__lead { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.z-steps--bare { margin: 0; padding: 0; border-top: 0; }
.z-summary__sub { margin: 2px 0 0; padding-top: 14px; border-top: 1px solid var(--z-line-soft); color: var(--z-ink); font-size: 15px; font-weight: 600; }
.z-summary .z-facts { gap: 8px; }
.z-summary .z-bank-list { gap: 10px; }
@media (max-width: 959px) {
    .z-track__layout { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .z-track__aside { position: static; }
}

/* ---- MEDIASLOTS: videolu kapak slaytı ve afiş ---------------------------------------------------------------------------------------
   Video, görselin ölçüsünü doldurur (kayan kapakta 1920/744, afiş satırında kendi oranı). Bağlantı videonun içine girmez: sol üstte ayrı
   düğmedir; sessiz döngünün duraklat düğmesi sağ üstte. Alt kenar yerel video denetimlerine ve kapak noktalarına kalır. */
.z-media { position: relative; width: 100%; height: 100%; }
.z-media__video { display: block; width: 100%; height: 100%; object-fit: cover; background: #0b1233; }
.z-banner .z-media__video { height: auto; }
.z-media__cta {
    position: absolute; top: clamp(10px, 2.2vw, 24px); left: clamp(10px, 2.2vw, 28px); z-index: 1; gap: 8px;
    min-height: 44px; padding: 0 16px 0 18px; font-size: 15px; box-shadow: 0 6px 20px rgba(11, 18, 51, .32);
}
.z-hero__slide .z-media__cta, .z-banner .z-media__cta { display: inline-flex; width: auto; height: auto; }
.z-media__toggle {
    position: absolute; top: clamp(10px, 2.2vw, 24px); right: clamp(10px, 2.2vw, 24px); z-index: 1; display: grid; place-items: center;
    width: 42px; height: 42px; padding: 0; border: 0; border-radius: 50%; background: rgba(11, 18, 51, .62); color: #fff; cursor: pointer;
    transition: background .15s ease;
}
.z-media__toggle:hover { background: rgba(11, 18, 51, .84); }
.z-media__toggle[hidden], .z-media:has(> video[controls]) .z-media__toggle { display: none; }
.z-media__toggle svg { width: 18px; height: 18px; }
.z-media__play, .z-media__toggle.is-paused .z-media__pause { display: none; }
.z-media__toggle.is-paused .z-media__play { display: block; }
/* Görünen slaytta yerel denetim çubuğu varken noktalar çubuğun üstüne çıkar; zaman çizelgesini örtmez. */
.z-hero:has(.z-hero__slide:not([inert]) video[controls]) .z-hero__dots { bottom: 54px; }
@media (max-width: 640px) {
    .z-media__cta { min-height: 38px; padding: 0 12px 0 14px; font-size: 14px; }
    .z-media__toggle { width: 38px; height: 38px; }
}

/* ---- Hediye çeki ve mağaza kredisi (/hesabim/hediye-ceki) ------------------------------------------------------------------------
   Hesap sekmeleri, lacivert bakiye kartı, kod formu ve hareket listesi. Hareket satırı her ekranda aynı iki satırlı düzendir (açıklama ve
   tutar, altında tarih): dar ekranda tablo sütunları sıkışmaz. Bildirim tonu giriş sayfasının renkleriyle aynıdır. */
.z-gift { display: grid; gap: 18px; max-width: 1120px; padding-block: 32px 8px; }
.z-gift__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px 24px; }
.z-gift__kicker { margin: 0 0 6px; color: var(--z-cyan); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.z-gift__head h1 { margin: 0; color: var(--z-ink); font-size: clamp(24px, 2.6vw, 32px); font-weight: 650; line-height: 1.2; letter-spacing: -.015em; }
.z-gift__back.z-btn { gap: 8px; min-height: 44px; }
.z-acctnav { display: flex; flex-wrap: wrap; gap: 4px; width: fit-content; max-width: 100%; padding: 4px; border: 1px solid var(--z-line); border-radius: 13px; background: #fff; }
.z-acctnav a {
    display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 10px; color: var(--z-muted);
    font-size: 14.5px; font-weight: 600; text-decoration: none; transition: background .15s ease, color .15s ease;
}
.z-acctnav a:hover { color: var(--z-navy); }
.z-acctnav a[aria-current="page"] { background: var(--z-navy-soft); color: var(--z-navy); }
.z-notice {
    display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 13px 16px; border: 1px solid rgba(0, 119, 176, .22);
    border-radius: 12px; background: var(--z-blue-soft); color: var(--z-ink); font-size: 14.5px; line-height: 1.5;
}
.z-notice p { margin: 0; }
.z-notice svg { flex: none; width: 20px; height: 20px; margin-top: 1px; color: var(--z-blue); }
.z-notice--success { border-color: #bfe3cc; background: #f1faf4; color: #11482b; }
.z-notice--success svg { color: var(--z-green); }
.z-notice--error { border-color: #f1c7bf; background: #fff5f3; color: #8f2716; }
.z-notice--error svg { color: var(--z-red); }
.z-gift__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; gap: 18px; }
.z-gift__card { min-width: 0; padding: 24px 26px; border: 1px solid var(--z-line); border-radius: 16px; background: #fff; }
.z-gift__card h2 { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; color: var(--z-ink); font-size: 17px; font-weight: 600; }
.z-gift__card h2 svg { flex: none; width: 20px; height: 20px; color: var(--z-cyan); }
.z-gift__balance { min-width: 0; padding: 25px 0 0; color: var(--z-ink); }
.z-gift__balance h2 { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; color: var(--z-ink); font-size: 17px; font-weight: 600; }
.z-gift__balance h2 svg { flex: none; width: 20px; height: 20px; color: var(--z-cyan); }
.z-gift__amounts { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.z-gift__amounts li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.z-gift__amounts strong { font-size: clamp(28px, 3vw, 38px); font-weight: 700; line-height: 1.1; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.z-gift__amounts span { color: var(--z-muted); font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.z-gift__empty { margin: 0; color: var(--z-muted); font-size: 14.5px; line-height: 1.55; }
.z-gift__form { display: grid; gap: 16px; }
.z-body .z-gift__form .z-field__control input { font-variant-numeric: tabular-nums; letter-spacing: .06em; text-transform: uppercase; }
.z-gift__submit.z-btn { width: 100%; min-height: 50px; border-radius: 12px; }
.z-gift__rows { margin: 0; padding: 0; list-style: none; }
.z-gift__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 16px; padding: 14px 0; border-top: 1px solid var(--z-line-soft); }
.z-gift__row:first-child { padding-top: 0; border-top: 0; }
.z-gift__row:last-child { padding-bottom: 0; }
.z-gift__desc { color: var(--z-ink); font-size: 15px; font-weight: 600; overflow-wrap: anywhere; }
.z-gift__amount { grid-row: span 2; align-self: center; color: var(--z-ink); font-size: 16px; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.z-gift__amount.is-credit { color: var(--z-green-strong); }
.z-gift__row time { color: var(--z-muted); font-size: 13px; font-variant-numeric: tabular-nums; }
@media (max-width: 859px) { .z-gift__grid { grid-template-columns: minmax(0, 1fr); } .z-gift__balance { padding-top: 0; } }
@media (max-width: 640px) {
    .z-gift { gap: 14px; padding-block: 20px 0; }
    .z-gift__card { padding: 18px; border-radius: 14px; }
    .z-gift__back.z-btn { width: 100%; }
    .z-acctnav { width: 100%; }
    .z-acctnav a { flex: 1; justify-content: center; }
}

/* ---- SFX: bilgi sayfaları (iletişim, banka hesapları, içerik sayfası, blog) -------------------------------------------------
   Ortak başlık + ölçü ve sayfa başına bileşenler. Palet ve kart dili giriş/üyelik sayfasınınkidir (beyaz kart, 20px köşe, ince gölge,
   lacivert odak halkası); yeni renk eklenmez. Sınıflar sayfa adıyla başlar (z-pagehead, z-touch, z-bank, z-prose, z-blog). */
.z-icon--xs { width: 14px; height: 14px; }
.z-pagehead { padding: 18px 0 22px; }
.z-pagehead__kicker { margin: 0 0 8px; color: var(--z-blue-strong); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.z-pagehead h1 { margin: 0; color: var(--z-ink); font-size: clamp(27px, 3.2vw, 36px); font-weight: 650; line-height: 1.18; letter-spacing: -.02em; }
.z-pagehead__lead { max-width: 62ch; margin: 12px 0 0; color: var(--z-muted); font-size: 16.5px; line-height: 1.6; }

/* İletişim */
.z-touch { padding-bottom: 8px; }
.z-touch__intro { max-width: 860px; margin: 0 0 24px; }
.z-touch__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 28px; align-items: start; }
.z-touch--solo .z-touch__grid { grid-template-columns: minmax(0, 760px); justify-content: center; }
.z-touch__info, .z-touch__card, .z-touch__map {
    border: 1px solid var(--z-line); border-radius: 20px; background: #fff;
    box-shadow: 0 1px 2px rgba(22, 28, 64, .04), 0 16px 40px -18px rgba(22, 28, 64, .16);
}
.z-touch__info { padding: 28px 30px 30px; }
.z-touch__heading { margin: 0 0 18px; color: var(--z-ink); font-size: 18px; font-weight: 650; line-height: 1.3; letter-spacing: -.01em; }
.z-touch__list { display: grid; margin: 0; padding: 0; list-style: none; }
.z-touch__row { display: flex; align-items: flex-start; gap: 16px; padding: 17px 0; border-top: 1px solid var(--z-line-soft); }
.z-touch__row:first-child { padding-top: 2px; border-top: 0; }
.z-touch__row:last-child { padding-bottom: 0; }
.z-touch__icon { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--z-blue-soft); color: var(--z-blue); }
.z-touch__icon--green { background: #e7f5ec; color: var(--z-green-strong); }
.z-touch__icon svg { width: 21px; height: 21px; }
.z-touch__text { display: grid; gap: 3px; min-width: 0; padding-top: 1px; }
.z-touch__label { color: var(--z-muted); font-size: 13px; font-weight: 500; line-height: 1.3; }
.z-touch__value { color: var(--z-ink); font-size: 17px; font-weight: 600; line-height: 1.4; text-decoration: none; overflow-wrap: anywhere; }
a.z-touch__value:hover { color: var(--z-blue-strong); text-decoration: underline; text-underline-offset: .18em; }
.z-touch__value--plain { font-size: 15.5px; font-style: normal; font-weight: 500; line-height: 1.55; }
.z-touch__hours { display: grid; gap: 1px; }
.z-touch__link { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; color: var(--z-blue); font-size: 14px; font-weight: 600; text-decoration: none; }
.z-touch__link:hover { color: var(--z-blue-strong); text-decoration: underline; text-underline-offset: .18em; }
.z-touch__social { display: grid; gap: 12px; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--z-line-soft); }
.z-touch__social ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.z-touch__social a { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--z-line-strong); border-radius: 12px; background: #fff; color: var(--z-navy); transition: border-color .15s ease, background .15s ease; }
.z-touch__social a:hover { border-color: var(--z-navy); background: var(--z-navy-soft); }
.z-touch__social svg { width: 20px; height: 20px; }
.z-touch__card { padding: 30px 34px 32px; }
.z-touch__card-title { margin: 0 0 6px; color: var(--z-ink); font-size: 22px; font-weight: 650; line-height: 1.25; letter-spacing: -.015em; }
.z-touch__card-lead { margin: 0 0 22px; color: var(--z-muted); font-size: 15px; }
.z-touch__form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 18px; }
.z-field--wide { grid-column: 1 / -1; }
.z-body .z-touch__textarea {
    display: block; width: 100%; min-height: 150px; margin: 0; padding: 14px 16px; border: 1px solid var(--z-line-strong); border-radius: 12px;
    background: #fff; color: var(--z-ink); font: inherit; font-size: 16px; line-height: 1.5; resize: vertical; transition: border-color .15s ease, box-shadow .15s ease;
}
.z-body .z-touch__textarea:hover { border-color: #b9bfce; }
.z-body .z-touch__textarea:focus { outline: none; border-color: var(--z-navy); box-shadow: 0 0 0 4px rgba(43, 52, 132, .12); }
.z-touch__trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.z-touch__actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 22px; margin-top: 4px; }
.z-touch__actions .z-btn--primary { min-width: 210px; }
.z-touch__privacy { display: flex; flex: 1 1 240px; align-items: flex-start; gap: 8px; margin: 0; color: var(--z-muted); font-size: 13.5px; line-height: 1.5; }
.z-touch__privacy svg { flex: none; width: 17px; height: 17px; margin-top: 1px; color: var(--z-green); }
.z-touch__privacy a { color: var(--z-blue); font-weight: 600; }
.z-touch__alert { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 18px; padding: 12px 14px; border: 1px solid #f1c7bf; border-radius: 12px; background: #fff5f3; color: #8f2716; font-size: 14.5px; font-weight: 500; line-height: 1.45; }
.z-touch__alert svg { flex: none; width: 19px; height: 19px; margin-top: 1px; }
.z-touch__sent { display: grid; justify-items: center; gap: 10px; padding: 30px 8px 26px; text-align: center; }
.z-touch__sent-icon { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: #e7f5ec; color: var(--z-green-strong); }
.z-touch__sent-icon svg { width: 28px; height: 28px; }
.z-touch__sent h2 { margin: 6px 0 0; color: var(--z-ink); font-size: 24px; font-weight: 650; letter-spacing: -.015em; }
.z-touch__sent p { max-width: 42ch; margin: 0 0 12px; color: var(--z-muted); }
.z-touch__map { margin-top: 28px; padding: 22px; }
.z-touch__map-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px; margin: 0 0 16px 8px; }
.z-touch__map-head .z-touch__heading { margin: 0; }
.z-touch__map-frame { position: relative; height: 420px; overflow: hidden; border-radius: 14px; background: #e9edf3; }
.z-touch__map-ph { position: absolute; inset: 0; display: grid; place-items: center; color: #a9b3c6; }
.z-touch__map-ph svg { width: 46px; height: 46px; stroke-width: 1.3; }
.z-touch__map-frame iframe { position: relative; z-index: 1; display: block; width: 100%; height: 100%; border: 0; background: transparent; }
@media (max-width: 959px) {
    .z-touch__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
    .z-pagehead { padding-bottom: 16px; }
    .z-touch__info { padding: 22px 18px 24px; }
    .z-touch__card { padding: 24px 18px 26px; }
    .z-touch__form { grid-template-columns: minmax(0, 1fr); }
    .z-touch__actions .z-btn--primary { width: 100%; }
    .z-touch__map { padding: 14px; }
    .z-touch__map-head { margin-left: 4px; }
    .z-touch__map-frame { height: 320px; }
}

/* Banka hesapları: iki sütun kart, banka logosu (ya da baş harf rozeti), IBAN satırı + kopyala, ödeme bildirimi çağrısı */
.z-icon--sm { width: 16px; height: 16px; }
.z-bank { padding-bottom: 8px; }
.z-bank__group + .z-bank__group { margin-top: 30px; }
.z-bank__currency { margin: 0 0 14px 4px; color: var(--z-ink); font-size: 18px; font-weight: 650; letter-spacing: -.01em; }
.z-bank__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.z-bank-card, .z-bank__notify {
    border: 1px solid var(--z-line); border-radius: 20px; background: #fff;
    box-shadow: 0 1px 2px rgba(22, 28, 64, .04), 0 16px 40px -18px rgba(22, 28, 64, .16);
}
.z-bank-card { display: flex; flex-direction: column; gap: 20px; padding: 24px 26px 26px; }
.z-bank-card__head { display: flex; align-items: center; gap: 16px; }
.z-bank-card__logo { flex: none; display: grid; grid-template: minmax(0, 1fr) / minmax(0, 1fr); place-items: center; width: 104px; height: 60px; padding: 8px 12px; overflow: hidden; border: 1px solid var(--z-line); border-radius: 14px; background: #fff; }
.z-bank-card__logo img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: contain; }
.z-bank-card__logo--mono { width: 60px; padding: 0; border-color: transparent; background: var(--z-navy-soft); color: var(--z-navy); font-size: 19px; font-weight: 700; letter-spacing: .02em; }
.z-bank-card__name { flex: 1; min-width: 0; margin: 0; color: var(--z-ink); font-size: 19px; font-weight: 650; line-height: 1.25; letter-spacing: -.01em; overflow-wrap: anywhere; }
.z-bank-card__cur { flex: none; align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: var(--z-page); color: var(--z-muted); font-size: 12px; font-weight: 700; letter-spacing: .06em; }
.z-bank-card__rows { display: grid; gap: 16px; margin: 0; }
.z-bank-card__row { display: grid; gap: 5px; margin: 0; }
.z-bank-card__row dt { color: var(--z-muted); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.z-bank-card__row dd { margin: 0; color: var(--z-ink); font-size: 15.5px; font-weight: 500; line-height: 1.45; overflow-wrap: anywhere; }
.z-bank-card__ibanrow { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 8px 8px 16px; border: 1px solid var(--z-line); border-radius: 12px; background: var(--z-page); }
.z-bank-card__iban {
    min-width: 0; color: var(--z-ink); font-family: ui-monospace, "Cascadia Mono", "SF Mono", Consolas, "Liberation Mono", monospace;
    font-size: 16.5px; font-weight: 600; letter-spacing: .03em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere;
}
.z-copy {
    flex: none; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border: 1px solid var(--z-line-strong); border-radius: 10px;
    background: #fff; color: var(--z-navy); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.z-copy[hidden] { display: none; }
.z-copy:hover { border-color: var(--z-navy); background: var(--z-navy-soft); }
.z-copy svg { flex: none; width: 17px; height: 17px; }
.z-copy.is-copied { border-color: #b6dcc5; background: #e7f5ec; color: var(--z-green-strong); }
.z-copy.is-failed { border-color: #f1c7bf; background: #fff5f3; color: #8f2716; }
.z-bank-card__note { display: flex; align-items: flex-start; gap: 10px; margin: auto 0 0; padding: 12px 14px; border-radius: 12px; background: var(--z-blue-soft); color: var(--z-text); font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.z-bank-card__note svg { flex: none; margin-top: 2px; color: var(--z-blue); }
.z-bank-card__note b { color: var(--z-ink); font-weight: 600; }
.z-bank__notify { display: flex; align-items: center; gap: 20px; margin-top: 30px; padding: 22px 26px; }
.z-bank__notify-icon { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: var(--z-blue-soft); color: var(--z-blue); }
.z-bank__notify-icon svg { width: 24px; height: 24px; }
.z-bank__notify-text { flex: 1; min-width: 0; }
.z-bank__notify-text h2 { margin: 0 0 4px; color: var(--z-ink); font-size: 18px; font-weight: 650; letter-spacing: -.01em; }
.z-bank__notify-text p { margin: 0; color: var(--z-muted); font-size: 15px; line-height: 1.5; }
@media (max-width: 959px) {
    .z-bank__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
    .z-bank-card { gap: 18px; padding: 20px 18px 22px; }
    .z-bank-card__logo { width: 88px; height: 52px; padding: 7px 10px; }
    .z-bank-card__logo--mono { width: 52px; }
    .z-bank-card__iban { font-size: 15.5px; }
    .z-bank__notify { flex-direction: column; align-items: stretch; gap: 16px; padding: 20px 18px; }
    .z-bank__notify .z-btn { width: 100%; }
}

/* İçerik sayfaları (/sayfa/<slug>): okuma kartı + güçlü tipografi (.z-prose), içindekiler, boş durum; "Referanslarımız" kart ızgarası */
.z-doc { padding-bottom: 8px; }
.z-doc__layout { display: grid; grid-template-columns: minmax(0, 860px); gap: 24px; align-items: start; }
.z-doc--toc .z-doc__layout { grid-template-columns: minmax(0, 860px) 300px; gap: 32px; }
.z-doc__card {
    padding: 44px 52px 48px; border: 1px solid var(--z-line); border-radius: 20px; background: #fff;
    box-shadow: 0 1px 2px rgba(22, 28, 64, .04), 0 16px 40px -18px rgba(22, 28, 64, .16);
}
.z-prose { color: var(--z-text); font-size: 17px; line-height: 1.78; overflow-wrap: break-word; }
.z-prose > :first-child { margin-top: 0; }
.z-prose > :last-child { margin-bottom: 0; }
.z-prose p { margin: 0 0 1.15em; }
.z-prose h2, .z-prose h3, .z-prose h4 { color: var(--z-ink); text-wrap: balance; scroll-margin-top: 24px; }
.z-prose h2 { margin: 2.1em 0 .7em; padding-top: 1.45em; border-top: 1px solid var(--z-line-soft); font-size: 25px; font-weight: 650; line-height: 1.3; letter-spacing: -.015em; }
.z-prose h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.z-prose h3 { margin: 1.85em 0 .5em; font-size: 20px; font-weight: 650; line-height: 1.35; letter-spacing: -.01em; }
.z-prose h4 { margin: 1.7em 0 .45em; color: var(--z-muted); font-size: 13.5px; font-weight: 700; letter-spacing: .07em; line-height: 1.4; text-transform: uppercase; }
.z-prose ul, .z-prose ol { margin: 0 0 1.25em; padding-left: 1.5em; }
.z-prose li { margin: .45em 0; padding-left: .25em; }
.z-prose li::marker { color: var(--z-blue); font-weight: 600; }
.z-prose li > p { margin: .45em 0; }
.z-prose li > ul, .z-prose li > ol { margin: .45em 0 .2em; }
.z-prose a { color: var(--z-blue); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.z-prose a:hover { color: var(--z-blue-strong); text-decoration-thickness: 2px; }
.z-prose strong, .z-prose b { color: var(--z-ink); font-weight: 650; }
.z-prose blockquote { margin: 1.7em 0; padding: 18px 24px; border-left: 4px solid var(--z-cyan); border-radius: 0 14px 14px 0; background: var(--z-blue-soft); color: var(--z-ink); }
.z-prose blockquote > :last-child { margin-bottom: 0; }
.z-prose hr { margin: 2.3em 0; border: 0; border-top: 1px solid var(--z-line); }
.z-prose hr + h2 { margin-top: 1.3em; padding-top: 0; border-top: 0; }
.z-prose img { display: block; max-width: 100%; height: auto; margin: 1.7em 0; border-radius: 14px; }
.z-prose figure { margin: 1.9em 0; }
.z-prose figure img { margin: 0; }
.z-prose figcaption { margin-top: .65em; color: var(--z-muted); font-size: 14px; line-height: 1.5; text-align: center; }
.z-prose table { width: 100%; margin: 1.7em 0; border-collapse: collapse; font-size: 15px; line-height: 1.5; }
.z-prose > table { border: 1px solid var(--z-line); }
.z-prose th, .z-prose td { padding: 12px 16px; border: 0; border-right: 1px solid var(--z-line); border-bottom: 1px solid var(--z-line); text-align: left; vertical-align: top; }
.z-prose th:last-child, .z-prose td:last-child { border-right: 0; }
.z-prose tbody tr:last-child td, .z-prose table:not(:has(tbody)) tr:last-child td { border-bottom: 0; }
.z-prose th { background: var(--z-page); color: var(--z-ink); font-weight: 650; }
.z-prose__scroll { margin: 1.7em 0; overflow-x: auto; border: 1px solid var(--z-line); border-radius: 12px; }
.z-prose__scroll:focus-visible { outline: 3px solid #1b6fd1; outline-offset: 2px; }
.z-prose__scroll table { min-width: 100%; margin: 0; }
.z-toc--inline { display: none; }
.z-toc--aside { position: sticky; top: 24px; }
.z-toc__title { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; color: var(--z-muted); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.z-toc__title svg, .z-toc--inline summary svg { flex: none; width: 17px; height: 17px; color: var(--z-blue); }
.z-toc ol { margin: 0; padding: 0; list-style: none; }
.z-toc--aside ol { border-left: 2px solid var(--z-line); }
.z-toc a { display: block; padding: 7px 14px; color: var(--z-muted); font-size: 14.5px; line-height: 1.4; text-decoration: none; transition: color .15s ease, border-color .15s ease; }
.z-toc--aside a { margin-left: -2px; border-left: 2px solid transparent; }
.z-toc a:hover { color: var(--z-navy); }
.z-toc a.is-current { border-left-color: var(--z-blue); color: var(--z-ink); font-weight: 600; }
.z-toc__l3 a { padding-left: 28px; font-size: 14px; }
.z-doc__empty { display: grid; justify-items: center; gap: 8px; max-width: 640px; padding: 48px 28px; border: 1px solid var(--z-line); border-radius: 20px; background: #fff; text-align: center; box-shadow: 0 1px 2px rgba(22, 28, 64, .04), 0 16px 40px -18px rgba(22, 28, 64, .16); }
.z-doc__empty-icon { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 6px; border-radius: 50%; background: var(--z-blue-soft); color: var(--z-blue); }
.z-doc__empty-icon svg { width: 26px; height: 26px; }
.z-doc__empty h2 { margin: 0; color: var(--z-ink); font-size: 21px; font-weight: 650; }
.z-doc__empty p { margin: 0 0 14px; color: var(--z-muted); }

/* Referanslarımız: başlık 3 = kart */
.z-refs { padding-bottom: 8px; }
.z-refs__group + .z-refs__group { margin-top: 38px; }
.z-refs__heading { margin: 0 0 16px 4px; color: var(--z-ink); font-size: 21px; font-weight: 650; letter-spacing: -.01em; }
.z-refs__lead { max-width: 72ch; margin: 0 0 22px 4px; color: var(--z-muted); font-size: 16.5px; }
.z-refs__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.z-refs__card {
    display: flex; flex-direction: column; gap: 14px; padding: 22px 22px 24px; border: 1px solid var(--z-line); border-radius: 20px; background: #fff;
    box-shadow: 0 1px 2px rgba(22, 28, 64, .04), 0 12px 30px -18px rgba(22, 28, 64, .16); transition: box-shadow .18s ease, transform .18s ease;
}
.z-refs__card:hover { box-shadow: var(--z-shadow-hover); transform: translateY(-2px); }
.z-refs__logo { display: grid; grid-template: minmax(0, 1fr) / minmax(0, 1fr); place-items: center; height: 104px; padding: 14px 20px; overflow: hidden; border-radius: 14px; background: var(--z-page); }
.z-refs__logo img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: contain; mix-blend-mode: multiply; }
.z-refs__logo--mono { background: var(--z-navy-soft); color: var(--z-navy); font-size: 30px; font-weight: 700; letter-spacing: .03em; }
.z-refs__name { margin: 0; color: var(--z-ink); font-size: 19px; font-weight: 650; line-height: 1.3; letter-spacing: -.01em; }
.z-refs__text { color: var(--z-muted); font-size: 15px; line-height: 1.65; }
.z-refs__text p { margin-bottom: .8em; }

/* Yönetilen referanslar (Site içeriği › Referanslar): kart bağlantısı, giriş metni ve /referans/<adres> ayrıntı sayfası.
   Kart ölçüleri yukarıdaki eski düzenle AYNIDIR (`.z-refs__card/__logo/__name/__text`); yeni olan yalnız bağlantı davranışı ve `ul/li` kabıdır. */
ul.z-refs__grid { margin: 0; padding: 0; list-style: none; }
.z-refs__cell { display: flex; min-width: 0; }
.z-refs__cell > .z-refs__card { position: relative; flex: 1 1 auto; min-width: 0; }
.z-refs__cell > .z-refs__card:not(.z-refs__card--link):hover { transform: none; box-shadow: 0 1px 2px rgba(22, 28, 64, .04), 0 12px 30px -18px rgba(22, 28, 64, .16); }
.z-refs__cell .z-refs__text { margin: 0; }
.z-refs__card--link { cursor: pointer; }
.z-refs__card--link:focus-within { outline: 3px solid #1b6fd1; outline-offset: 2px; }
.z-refs__link { color: inherit; text-decoration: none; }
.z-refs__link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.z-refs__link:focus-visible { outline: none; }
.z-refs__card--link:hover .z-refs__name { color: var(--z-navy); }
.z-refs__more { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 4px; color: var(--z-blue); font-size: 14.5px; font-weight: 600; }
.z-refs__more .z-icon { width: 16px; height: 16px; transition: transform .18s ease; }
.z-refs__card--link:hover .z-refs__more .z-icon { transform: translateX(2px); }
.z-refs__intro { max-width: 72ch; margin: 0 0 30px 4px; font-size: 16.5px; }
.z-ref { padding-bottom: 8px; }
.z-ref__head {
    display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 36px; align-items: center; margin: 4px 0 26px; padding: 34px 40px;
    border: 1px solid var(--z-line); border-radius: 20px; background: #fff;
    box-shadow: 0 1px 2px rgba(22, 28, 64, .04), 0 16px 40px -18px rgba(22, 28, 64, .16);
}
.z-ref__logo { display: grid; grid-template: minmax(0, 1fr) / minmax(0, 1fr); place-items: center; height: 140px; padding: 18px 26px; overflow: hidden; border-radius: 16px; background: var(--z-page); }
.z-ref__logo img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: contain; mix-blend-mode: multiply; }
.z-ref__logo--mono { background: var(--z-navy-soft); color: var(--z-navy); font-size: 46px; font-weight: 700; letter-spacing: .03em; }
.z-ref__title { min-width: 0; }
.z-ref__title h1 { margin: 0; color: var(--z-ink); font-size: clamp(27px, 3.2vw, 38px); font-weight: 650; line-height: 1.16; letter-spacing: -.02em; overflow-wrap: anywhere; }
.z-ref__lead { max-width: 62ch; margin: 12px 0 0; color: var(--z-muted); font-size: 17px; line-height: 1.6; }
.z-ref__site { margin-top: 20px; }
.z-ref__related { margin-top: 48px; }
.z-ref__related h2 { margin: 0 0 18px 4px; color: var(--z-ink); font-size: 24px; font-weight: 650; letter-spacing: -.015em; }
.z-ref__all { margin: 26px 0 0; }
@media (max-width: 760px) {
    .z-ref__head { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 24px 20px; border-radius: 16px; }
    .z-ref__logo { height: 108px; padding: 14px 20px; }
    .z-ref__logo--mono { font-size: 36px; }
    .z-ref__lead { font-size: 16px; }
    .z-ref__related { margin-top: 36px; }
}
@media (max-width: 1099px) {
    .z-doc--toc .z-doc__layout { grid-template-columns: minmax(0, 860px); }
    .z-toc--aside { display: none; }
    .z-toc--inline { display: block; border: 1px solid var(--z-line); border-radius: 16px; background: #fff; }
    .z-toc--inline summary { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 18px; color: var(--z-ink); font-size: 15px; font-weight: 650; cursor: pointer; list-style: none; }
    .z-toc--inline summary::-webkit-details-marker { display: none; }
    .z-toc--inline[open] summary { border-bottom: 1px solid var(--z-line-soft); }
    .z-toc--inline ol { padding: 8px 6px 12px; }
    .z-refs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .z-doc__card { padding: 26px 20px 30px; border-radius: 16px; }
    .z-prose { font-size: 16.5px; line-height: 1.72; }
    .z-prose h2 { font-size: 22px; }
    .z-prose h3 { font-size: 18.5px; }
    .z-refs__grid { grid-template-columns: minmax(0, 1fr); }
    .z-doc__empty { padding: 36px 20px; }
}
/* Eski (içe aktarılmış) metinlerde başlık yerine kalın paragraf ve yalnız boşluk içeren paragraf bulunur; betik bunları işaretler (aşamalı iyileştirme). */
.z-prose p.is-gap { display: none; }
.z-prose p.z-prose__subhead { margin: 1.7em 0 .5em; color: var(--z-ink); font-size: 18px; font-weight: 650; line-height: 1.4; letter-spacing: -.005em; }
.z-prose p.z-prose__subhead:first-child { margin-top: 0; }

/* Blog: dizin (öne çıkan kart + üç sütun kart ızgarası), yazı sayfası (başlık, kapak, okuma kartı, paylaş, önceki/sonraki, diğer yazılar) */
.z-pagehead__kicker a { color: inherit; text-decoration: none; }
.z-pagehead__kicker a:hover { text-decoration: underline; text-underline-offset: .2em; }
.z-blog { padding-bottom: 8px; }
.z-blog__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.z-post-card {
    position: relative; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--z-line); border-radius: 20px; background: #fff;
    box-shadow: 0 1px 2px rgba(22, 28, 64, .04), 0 12px 30px -18px rgba(22, 28, 64, .16); transition: box-shadow .18s ease, transform .18s ease;
}
.z-post-card:hover { box-shadow: var(--z-shadow-hover); transform: translateY(-2px); }
.z-post-card:has(a:focus-visible) { outline: 3px solid #1b6fd1; outline-offset: 2px; }
.z-post-card__media { position: relative; display: block; flex: none; overflow: hidden; aspect-ratio: 16 / 9; background: var(--z-navy-soft); }
.z-post-card__media img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.z-post-card:hover .z-post-card__media img { transform: scale(1.035); }
.z-post-card__ph { position: absolute; inset: 0; display: grid; place-items: center; background: linear-gradient(135deg, var(--z-navy-soft), var(--z-blue-soft)); color: #98a3d8; }
.z-post-card__ph svg { width: 46px; height: 46px; stroke-width: 1.3; }
.z-post-card__body { display: flex; flex: 1; flex-direction: column; gap: 10px; padding: 20px 22px 22px; }
.z-post-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 0; color: var(--z-muted); font-size: 13px; font-weight: 500; }
.z-post-card__title { margin: 0; font-size: 19px; font-weight: 650; line-height: 1.32; letter-spacing: -.01em; text-wrap: balance; overflow-wrap: anywhere; }
.z-post-card__title a { color: var(--z-ink); text-decoration: none; }
.z-post-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.z-post-card:hover .z-post-card__title a { color: var(--z-navy); }
.z-post-card__title a:focus-visible { outline: 3px solid #1b6fd1; outline-offset: 3px; }
@supports selector(:has(*)) { .z-post-card__title a:focus-visible { outline: none; } }
.z-post-card__excerpt { display: -webkit-box; margin: 0; overflow: hidden; color: var(--z-muted); font-size: 15px; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.z-post-card__more { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 6px; color: var(--z-blue); font-size: 14.5px; font-weight: 600; }
.z-post-card__more svg { width: 16px; height: 16px; transition: transform .15s ease; }
.z-post-card:hover .z-post-card__more svg { transform: translateX(3px); }
.z-post-card--featured { flex-direction: row; margin-bottom: 24px; }
.z-post-card--featured .z-post-card__media { flex: 0 0 58%; aspect-ratio: auto; min-height: 340px; }
.z-post-card--featured .z-post-card__body { justify-content: center; gap: 14px; padding: 36px 42px; }
.z-post-card--featured .z-post-card__title { font-size: clamp(24px, 2.4vw, 32px); line-height: 1.22; letter-spacing: -.02em; }
.z-post-card--featured .z-post-card__excerpt { font-size: 16.5px; -webkit-line-clamp: 4; }
.z-post-card--featured .z-post-card__more { margin-top: 4px; }
.z-blog__pager { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 34px; }
.z-blog__pager-count { color: var(--z-muted); font-size: 14.5px; font-weight: 600; }
.z-blog__pager-gap { min-width: 1px; }

.z-article { padding-bottom: 8px; }
.z-article__head { max-width: 900px; padding: 18px 0 24px; }
.z-article__head h1 { margin: 0; color: var(--z-ink); font-size: clamp(28px, 3.6vw, 42px); font-weight: 650; line-height: 1.16; letter-spacing: -.022em; text-wrap: balance; }
.z-article__meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 16px 0 0; color: var(--z-muted); font-size: 14.5px; font-weight: 500; }
.z-article__meta span { display: inline-flex; align-items: center; gap: 8px; }
.z-article__meta svg { color: var(--z-blue); }
.z-article__cover { max-width: 1100px; margin: 0 0 24px; overflow: hidden; border-radius: 20px; background: var(--z-navy-soft); box-shadow: 0 1px 2px rgba(22, 28, 64, .04), 0 16px 40px -18px rgba(22, 28, 64, .2); }
.z-article__cover img { display: block; width: 100%; aspect-ratio: 21 / 9; object-fit: cover; }
.z-article__card {
    max-width: 860px; padding: 44px 52px 40px; border: 1px solid var(--z-line); border-radius: 20px; background: #fff;
    box-shadow: 0 1px 2px rgba(22, 28, 64, .04), 0 16px 40px -18px rgba(22, 28, 64, .16);
}
.z-article__share { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--z-line-soft); }
.z-article__share-label { color: var(--z-muted); font-size: 14px; font-weight: 600; }
.z-article__share ul { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0; padding: 0; list-style: none; }
.z-article__share li a { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--z-line-strong); border-radius: 12px; background: #fff; color: var(--z-navy); transition: border-color .15s ease, background .15s ease; }
.z-article__share li a:hover { border-color: var(--z-navy); background: var(--z-navy-soft); }
.z-article__share li a svg { width: 20px; height: 20px; }
.z-article__pager { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 860px; margin-top: 22px; }
.z-article__pager-link { display: grid; align-content: start; gap: 6px; padding: 18px 22px; border: 1px solid var(--z-line); border-radius: 16px; background: #fff; text-decoration: none; transition: border-color .15s ease, box-shadow .15s ease; }
.z-article__pager-link:hover { border-color: var(--z-line-strong); box-shadow: var(--z-shadow-hover); }
.z-article__pager-link--next { text-align: right; justify-items: end; }
.z-article__pager-dir { display: inline-flex; align-items: center; gap: 8px; color: var(--z-muted); font-size: 13px; font-weight: 600; }
.z-article__pager-title { display: -webkit-box; overflow: hidden; color: var(--z-ink); font-size: 16px; font-weight: 600; line-height: 1.38; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.z-article__related { margin-top: 52px; }
.z-article__related h2 { margin: 0 0 18px 4px; color: var(--z-ink); font-size: 24px; font-weight: 650; letter-spacing: -.015em; }
@media (max-width: 1099px) {
    .z-blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 859px) {
    .z-post-card--featured { flex-direction: column; }
    .z-post-card--featured .z-post-card__media { flex: none; aspect-ratio: 16 / 9; min-height: 0; }
    .z-post-card--featured .z-post-card__body { padding: 22px; }
}
@media (max-width: 640px) {
    .z-blog__grid { grid-template-columns: minmax(0, 1fr); }
    .z-article__card { padding: 26px 20px 28px; border-radius: 16px; }
    .z-article__cover { border-radius: 16px; }
    .z-article__cover img { aspect-ratio: 16 / 9; }
    .z-article__pager { grid-template-columns: minmax(0, 1fr); }
    .z-article__pager-link--next { text-align: left; justify-items: start; }
}
/* SFX: hareket azaltma tercihi olan ziyaretçide kart yükselmeleri ve geçişler kapanır. */
@media (prefers-reduced-motion: reduce) {
    .z-post-card, .z-refs__card, .z-post-card__media img, .z-post-card__more svg { transition: none; }
    .z-post-card:hover, .z-refs__card:hover { transform: none; }
    .z-post-card:hover .z-post-card__media img, .z-post-card:hover .z-post-card__more svg { transform: none; }
}

/* GSIGNUP: the legal continuation note under the Google / Facebook buttons (login + register). */
.z-auth__social-legal { margin-top: 6px; }
.z-auth__social-legal a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.z-auth__social-legal a:hover, .z-auth__social-legal a:focus-visible { color: var(--z-text, inherit); }

/* ---- CKT: ödeme (/odeme) ------------------------------------------------------------------------------------------------------------------
   Üç adım (iletişim ve adres → teslimat ve ödeme → özet ve onay) + kart adımı ve sonuç sayfası. Solda adım başına kartlar (z-panel), sağda yapışkan
   sipariş özeti (z-summary + z-cosum). Seçim kartları gerçek radyo düğmesidir; seçili kart çerçeve, zemin ve onay işaretiyle belli olur (renk tek başına
   bilgi taşımaz). Alanlar hesap alanıyla aynı z-field parçasıdır; hata metni alanın altında durur. Telefonda tek sütun, adımlar sayıya iner. */
.z-co { max-width: 1120px; padding-block: 32px 8px; }
.z-co--narrow { max-width: 820px; }
.z-co__head { margin-bottom: 20px; }
.z-co__head h1 { margin: 0; color: var(--z-ink); font-size: clamp(24px, 2.6vw, 32px); font-weight: 650; line-height: 1.2; letter-spacing: -.015em; }
.z-co__lead { margin: 8px 0 0; max-width: 62ch; color: var(--z-muted); font-size: 15px; line-height: 1.55; }
.z-co > .z-notice { margin: 0 0 18px; }

/* Adım göstergesi */
.z-steps-nav { margin: 0 0 22px; }
.z-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.z-steps__item { min-width: 0; border: 1px solid var(--z-line); border-radius: 14px; background: #fff; color: var(--z-muted); font-size: 14.5px; font-weight: 600; }
.z-steps__link { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 14px; color: inherit; text-decoration: none; }
a.z-steps__link:hover { color: var(--z-navy); }
.z-steps__num { flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--z-page); color: var(--z-muted); font-size: 13px; font-weight: 700; }
.z-steps__label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.z-steps__item.is-current { border-color: var(--z-navy); color: var(--z-navy); box-shadow: 0 0 0 3px rgba(43, 52, 132, .08); }
.z-steps__item.is-current .z-steps__num { background: var(--z-navy); color: #fff; }
.z-steps__item.is-done { color: var(--z-text); }
.z-steps__item.is-done .z-steps__num { background: #e9f7ef; color: #11633a; }

/* Yerleşim: solda kartlar, sağda yapışkan özet */
.z-co__layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 24px; align-items: start; }
.z-co__main { display: grid; gap: 18px; min-width: 0; margin: 0; }
.z-co__aside { position: sticky; top: 20px; display: grid; gap: 14px; min-width: 0; }
.z-co__card { display: grid; gap: 14px; }
.z-co__card > .z-panel__title { margin: 0; }
.z-co__card > .z-panel__lead { margin: -6px 0 0; }
.z-co__card > .z-panel__lead--flush { margin: 0; }
.z-co .z-field { align-content: start; }
.z-co__same { padding: 12px 14px; border: 1px solid var(--z-line); border-radius: 12px; background: var(--z-page); }
.z-co__legal { display: flex; align-items: flex-start; gap: 8px; margin: 0; color: var(--z-muted); font-size: 13.5px; line-height: 1.5; }
.z-co__legal svg { flex: none; margin-top: 1px; color: var(--z-faint); }
.z-co__legal a { color: var(--z-blue); font-weight: 600; }
.z-co__retry { margin: 0; }
.z-co__invoice { padding-top: 16px; border-top: 1px solid var(--z-line-soft); }
.z-co__apply { justify-self: start; }
.z-co__apply[hidden], [data-z-showif][hidden] { display: none; }
.z-field__error { display: flex; align-items: center; gap: 6px; color: #a1281c; font-size: 13px; font-weight: 600; }
.z-field__error[hidden] { display: none; }
.z-co__doc > .z-field__error { margin-top: 6px; }
.z-co__card > .z-field__error { margin-top: -6px; }
.z-co__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.z-co__actions form { margin: 0; }
.z-co__next.z-btn { min-height: 52px; padding-inline: 26px; border-radius: 12px; }
.z-co__next.z-btn:disabled { border-color: var(--z-line-strong); background: #e8ebf2; color: var(--z-muted); cursor: not-allowed; }

/* Seçim kartları: kargo yöntemi, ödeme yöntemi, teslim türü */
.z-choice { display: grid; gap: 10px; }
.z-choice__opt {
    position: relative; display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto auto; align-items: center; gap: 14px; padding: 14px 16px;
    border: 1px solid var(--z-line-strong); border-radius: 14px; background: #fff; cursor: pointer; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.z-choice__opt:hover { border-color: var(--z-navy); }
.z-choice__opt input[type="radio"] { width: 20px; height: 20px; margin: 0; accent-color: var(--z-navy); cursor: pointer; }
.z-choice__opt:has(input:checked) { border-color: var(--z-navy); background: #f5f6fd; box-shadow: 0 0 0 1px var(--z-navy); }
.z-choice__opt:has(input:focus-visible) { outline: 3px solid #1b6fd1; outline-offset: 2px; }
.z-choice__icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--z-cyan-soft); color: var(--z-blue); }
.z-choice__opt:has(input:checked) .z-choice__icon { background: #fff; color: var(--z-navy); }
.z-choice__body { display: grid; gap: 2px; min-width: 0; }
.z-choice__title { color: var(--z-ink); font-size: 15.5px; font-weight: 650; }
.z-choice__line { color: var(--z-muted); font-size: 13.5px; line-height: 1.45; overflow-wrap: anywhere; }
.z-choice__aside { grid-column: 4; color: var(--z-ink); font-size: 14.5px; font-weight: 650; font-variant-numeric: tabular-nums; white-space: nowrap; }
.z-choice__tick { grid-column: 5; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--z-navy); color: #fff; opacity: 0; transform: scale(.7); transition: opacity .15s ease, transform .15s ease; }
.z-choice__opt:has(input:checked) .z-choice__tick { opacity: 1; transform: none; }
.z-paysingle { display: flex; align-items: flex-start; gap: 14px; padding: 14px 16px; border: 1px solid var(--z-line); border-radius: 14px; background: var(--z-page); }
.z-paysingle__body { display: grid; gap: 3px; min-width: 0; }
.z-paysingle__title { margin: 0; color: var(--z-muted); font-size: 15px; }
.z-paysingle__title b { color: var(--z-ink); font-size: 15.5px; font-weight: 650; }
.z-paysingle__line { margin: 0; color: var(--z-muted); font-size: 13.5px; line-height: 1.5; }

/* Sipariş özeti: satırlar (küçük görsel, ad, adet, tutar), kupon */
.z-cosum { align-content: start; }
.z-cosum__lines { display: grid; gap: 12px; margin: 0; padding: 0 0 14px; border-bottom: 1px solid var(--z-line); list-style: none; }
.z-cosum__line { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 12px; }
.z-cosum__media { display: grid; place-items: center; width: 56px; height: 56px; overflow: hidden; border: 1px solid var(--z-line-soft); border-radius: 10px; background: #fff; }
.z-cosum__media img { width: 100%; height: 100%; padding: 4px; object-fit: contain; }
.z-cosum__text { display: grid; gap: 1px; min-width: 0; }
.z-cosum__text b { display: -webkit-box; overflow: hidden; color: var(--z-ink); font-size: 14px; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.z-cosum__text a { color: inherit; text-decoration: none; }
.z-cosum__text a:hover { color: var(--z-navy); text-decoration: underline; }
.z-cosum__text small { color: var(--z-muted); font-size: 12.5px; }
.z-cosum__price { color: var(--z-ink); font-size: 14.5px; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.z-cosum__lines--review { gap: 14px; padding: 0; border-bottom: 0; }
.z-cosum__lines--review .z-cosum__line { grid-template-columns: 76px minmax(0, 1fr) auto; }
.z-cosum__lines--review .z-cosum__media { width: 76px; height: 76px; }
.z-cosum__lines--review .z-cosum__text b { font-size: 15px; -webkit-line-clamp: 3; }
.z-summary__rows .is-discount dd { color: var(--z-green-strong); }
.z-cosum__coupon { display: grid; gap: 10px; padding-top: 14px; border-top: 1px solid var(--z-line-soft); }
.z-cosum__sub { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--z-ink); font-size: 15px; font-weight: 600; }
.z-cosum__sub svg { flex: none; color: var(--z-faint); }
.z-cosum__couponform { display: flex; gap: 8px; margin: 0; }
.z-body .z-cosum__couponform input {
    flex: 1 1 auto; min-width: 0; min-height: 46px; margin: 0; padding: 0 12px; border: 1px solid var(--z-line-strong); border-radius: 10px; background: #fff; color: var(--z-ink);
    font: inherit; font-size: 15px; text-transform: uppercase; transition: border-color .15s ease, box-shadow .15s ease;
}
.z-body .z-cosum__couponform input::placeholder { color: var(--z-faint); text-transform: none; }
.z-body .z-cosum__couponform input:hover { border-color: #b9bfce; }
.z-body .z-cosum__couponform input:focus { outline: none; border-color: var(--z-navy); box-shadow: 0 0 0 4px rgba(43, 52, 132, .12); }
.z-cosum__couponform .z-btn { flex: none; min-height: 46px; }
.z-cosum__couponremove { margin: 0; }
.z-cosum__applied { display: flex; align-items: flex-start; gap: 8px; margin: 0; color: var(--z-green-strong); font-size: 13.5px; font-weight: 600; line-height: 1.45; }
.z-cosum__applied svg { flex: none; margin-top: 1px; color: var(--z-green); }
.z-cosum .z-notice { margin: 0; }

/* Özet adımı: bilgi kartları, belgeler, onay alanı */
.z-co__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; }
.z-co__fact { display: grid; align-content: start; gap: 4px; min-width: 0; padding: 14px 16px; border: 1px solid var(--z-line-soft); border-radius: 12px; background: #fafbfd; }
.z-co__fact dt { color: var(--z-muted); font-size: 13px; font-weight: 650; }
.z-co__fact dd { display: grid; gap: 1px; margin: 0; color: var(--z-ink); font-size: 14.5px; line-height: 1.5; overflow-wrap: anywhere; }
.z-co__edit { justify-self: start; margin-top: 4px; color: var(--z-blue); font-size: 13.5px; font-weight: 600; text-decoration: none; }
.z-co__edit:hover { color: var(--z-blue-strong); text-decoration: underline; }
.z-co__fact--payment { grid-column: 1 / -1; border-color: rgba(0, 119, 176, .28); background: #f1f8fc; }
.z-co__paychip { display: inline-flex; align-items: center; gap: 8px; font-size: 16px; }
.z-co__paychip svg { flex: none; color: var(--z-cyan); }
.z-co__doc { display: grid; gap: 10px; padding-top: 14px; border-top: 1px solid var(--z-line-soft); }
.z-co__doc h3 { margin: 0; color: var(--z-ink); font-size: 15px; font-weight: 600; }
.z-co__docbody { max-height: 16rem; overflow: auto; padding: 14px 16px; border: 1px solid var(--z-line-strong); border-radius: 12px; background: #fff; color: var(--z-text); font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.z-co__confirm { display: grid; gap: 14px; }
.z-co__confirm-total { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0; color: var(--z-text); font-size: 15px; }
.z-co__confirm-total strong { color: var(--z-ink); font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; }
.z-co__confirm-note { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 12px 14px; border-radius: 12px; background: var(--z-cyan-soft); color: var(--z-blue-strong); font-size: 13.5px; font-weight: 600; line-height: 1.5; }
.z-co__confirm-note svg { flex: none; margin-top: 1px; }

/* Kart adımı (/odeme/odeme) ve sonuç sayfası (/odeme/sonuc) */
.z-copay { display: grid; gap: 20px; padding: 24px 26px; }
.z-copay__top { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 16px; }
.z-copay__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: var(--z-cyan-soft); color: var(--z-blue); }
.z-copay__method { margin: 0; color: var(--z-muted); font-size: 15px; }
.z-copay__method b { color: var(--z-ink); font-weight: 650; }
.z-copay__secure { margin: 2px 0 0; color: var(--z-muted); font-size: 13.5px; line-height: 1.5; }
.z-copay__total { display: grid; gap: 2px; margin: 0; color: var(--z-muted); font-size: 13.5px; text-align: right; }
.z-copay__total strong { color: var(--z-ink); font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; }
.z-copay__body { display: grid; gap: 14px; padding-top: 20px; border-top: 1px solid var(--z-line-soft); }
.z-copay__body--frame { padding-top: 12px; }
.z-copay__body p { margin: 0; }
.z-copay__frame { display: block; width: 100%; min-height: 680px; border: 0; border-radius: 12px; background: #fff; }
.z-copay__test { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.z-copay__result { flex-basis: 100%; min-height: 1.5em; color: var(--z-muted); }
.z-coresult .z-state__card { width: min(100%, 560px); }
.z-coresult .z-acct__kicker { margin: 0; }
.z-coresult.is-paid .z-coresult__icon { background: #e9f7ef; color: var(--z-green); }
.z-coresult.is-attention .z-coresult__icon { background: #fff3df; color: #8a4b05; }
.z-coresult.is-failed .z-coresult__icon { background: #fdecea; color: var(--z-red); }
.z-coresult .z-coresult__next { max-width: 46ch; padding: 12px 14px; border-radius: 12px; background: var(--z-page); color: var(--z-text); font-size: 14.5px; }
.z-coresult__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 6px; }
.z-coresult__actions form { margin: 0; }
/* Kart taksit seçimi (standart ortak bileşen `.inst-opts`): Zirve ödeme sütunu ve kart sayfası için çerçeve, renk ve odak. */
.z-body .inst-opts { gap: 12px; margin-top: 16px; padding: 18px; background: #fff; border: 1px solid var(--z-line); border-radius: var(--z-radius); color: var(--z-text); font-family: var(--z-font); }
.z-body .inst-opts--summary { margin-top: 16px; }
.z-body .inst-opts__title { color: var(--z-ink); font-size: 15px; font-weight: 600; }
.z-body .inst-opt { border-color: var(--z-line-strong); border-radius: 9px; background: #fff; }
.z-body .inst-opt--selected, .z-body .inst-opt:has(.inst-opt__input:checked) { border-color: var(--z-blue); background: var(--z-blue-soft); box-shadow: 0 0 0 1px var(--z-blue); }
.z-body .inst-opt:focus-within { outline: 2px solid var(--z-blue); outline-offset: 2px; }
.z-body .inst-opt__input { accent-color: var(--z-blue); }
.z-body .inst-opt__meta, .z-body .inst-opts__note { color: var(--z-muted); opacity: 1; }
.z-body .inst-opts__apply { border: 1px solid var(--z-blue); background: var(--z-blue); color: #fff; font-size: 14.5px; }
.z-body .inst-opts__apply:hover { background: var(--z-blue-strong); }
@media (max-width: 959px) {
    .z-co__layout { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .z-co__aside { position: static; }
}
@media (max-width: 640px) {
    .z-co { padding-block: 20px 0; }
    .z-co__head { margin-bottom: 16px; }
    .z-steps { display: flex; gap: 6px; }
    .z-steps__item { flex: 0 0 auto; }
    .z-steps__item.is-current { flex: 1 1 auto; }
    .z-steps__link { gap: 8px; min-height: 48px; padding: 0 10px; }
    .z-steps__item:not(.is-current) .z-steps__label { display: none; }
    .z-co .z-form__row, .z-co__facts { grid-template-columns: minmax(0, 1fr); }
    .z-co__card, .z-copay { padding: 18px; }
    .z-co__actions { flex-direction: column-reverse; align-items: stretch; }
    .z-co__actions .z-btn, .z-co__actions form { width: 100%; }
    .z-choice__opt { grid-template-columns: auto minmax(0, 1fr) auto; gap: 6px 12px; padding: 14px; }
    .z-choice__icon { display: none; }
    .z-choice__body { grid-column: 2; }
    .z-choice__aside { grid-column: 2; grid-row: 2; }
    .z-choice__tick { grid-column: 3; grid-row: 1; }
    .z-copay__top { grid-template-columns: auto minmax(0, 1fr); }
    .z-copay__total { grid-column: 1 / -1; text-align: left; }
    .z-copay__frame { min-height: 560px; }
    .z-coresult__actions .z-btn { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) { .z-choice__opt, .z-choice__tick { transition: none; } }

/* Sadakat: hesap ve ödeme ekranlarının mevcut Zirve bileşenleri. */
.z-loyalty__balance { padding: 24px; }
.z-loyalty__available { display:flex; gap:16px; align-items:flex-start; }
.z-loyalty__available h2 { margin:0; color:var(--z-muted); font-size:14px; font-weight:500; }
.z-loyalty__available strong { display:block; color:var(--z-navy); font-size:40px; line-height:1.3; font-weight:650; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.z-loyalty__available p { margin:4px 0 0; color:var(--z-muted); font-size:14px; }
.z-loyalty__available p b { color:var(--z-ink); margin-left:6px; white-space:nowrap; }
.z-loyalty__secondary { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:22px 0 14px; padding-top:18px; border-top:1px solid var(--z-line); }
.z-loyalty__secondary dt { color:var(--z-muted); font-size:13px; }
.z-loyalty__secondary dd { margin:4px 0 0; font-size:20px; font-weight:600; font-variant-numeric:tabular-nums; }
.z-loyalty__hint { display:flex; gap:8px; margin:0; color:var(--z-muted); font-size:14px; line-height:1.55; }
.z-loyalty__hint svg { flex:none; margin-top:1px; }
.z-acct__main:has(.z-loyalty__balance) .z-panel__title { margin-bottom:18px; }
.z-acct__main:has(.z-loyalty__balance) .z-empty { padding:30px 22px; }
.z-acct__main:has(.z-loyalty__balance) .z-empty p { max-width:48ch; margin-inline:auto; }
.z-acct__main:has(.z-loyalty__balance) .z-empty__icon { display:grid; place-items:center; width:44px; height:44px; margin:0 auto 14px; border-radius:12px; background:var(--z-cyan-soft); color:var(--z-blue); }
.z-loyalty__history, .z-loyalty__expiry { list-style:none; margin:0; padding:0; }
.z-loyalty__history li, .z-loyalty__expiry li { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 0; border-top:1px solid var(--z-line); }
.z-loyalty__history li:first-child, .z-loyalty__expiry li:first-child { border-top:0; padding-top:0; }
.z-loyalty__history li:last-child, .z-loyalty__expiry li:last-child { padding-bottom:0; }
.z-loyalty__history b { font-size:14px; font-weight:600; }
.z-loyalty__history time, .z-loyalty__expiry span { display:block; margin-top:4px; font-size:12px; color:var(--z-muted); }
.z-loyalty__history strong { font-size:17px; text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.z-loyalty__history strong small { display:block; font-size:11px; font-weight:400; color:var(--z-muted); }
.z-loyalty__credit { color:var(--z-blue-strong); }
.z-loyalty__debit { color:var(--z-ink); }
.z-coloyalty { margin-top:16px; padding:22px; background:#fff; border:1px solid var(--z-line); border-radius:16px; }
.z-coloyalty h3 { display:flex; align-items:center; gap:8px; margin:0 0 10px; font-size:16px; font-weight:600; color:var(--z-navy); }
.z-coloyalty p { margin:0 0 12px; font-size:14px; line-height:1.5; }
.z-coloyalty__form { display:flex; align-items:flex-end; gap:10px; }
.z-coloyalty__form .z-field { flex:1; min-width:0; }
.z-coloyalty__form input { width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--z-line); border-radius:9px; background:#fff; color:var(--z-ink); font:inherit; }
.z-coloyalty__form input:focus-visible { outline:3px solid var(--z-cyan-soft); border-color:var(--z-blue); }
.z-coloyalty .z-coloyalty__help { color:var(--z-muted); font-size:13px; margin:12px 0 0; }
.z-coloyalty .z-coloyalty__applied { color:var(--z-blue-strong); font-weight:600; }
@media (max-width:600px) {
 .z-co__layout:has(.z-coloyalty) { display:flex; flex-direction:column; gap:18px; }
 .z-co__layout:has(.z-coloyalty) > .z-co__main { display:contents; }
 .z-co__layout:has(.z-coloyalty) .z-co__main > .z-co__card { order:1; width:100%; }
 .z-co__layout:has(.z-coloyalty) .z-co__aside { order:2; width:100%; }
 .z-co__layout:has(.z-coloyalty) .z-co__confirm { order:3; width:100%; }
 .z-loyalty__balance { padding:20px; }
 .z-loyalty__available strong { font-size:34px; }
 .z-loyalty__available p b { display:block; margin:3px 0 0; }
 .z-loyalty__expiry li { align-items:flex-start; flex-direction:column; gap:3px; }
 .z-coloyalty { padding:18px; }
 .z-coloyalty__form { flex-wrap:wrap; }
 .z-coloyalty__form .z-field { flex-basis:100%; }
 .z-coloyalty__form .z-btn { width:100%; min-height:44px; }
}

.z-coloyalty [hidden] { display:none; }
/* ===== Checkout credit ===== */
.z-co .checkout-credit { padding-top: 18px; margin-top: 18px; border-top: 1px solid var(--z-line); }
.z-co .checkout-credit h3 { margin: 0 0 12px; font-size: 16px; }
.z-co .checkout-credit p { margin: 8px 0; overflow-wrap: anywhere; }
.z-co .checkout-credit form { margin-top: 14px; }
.z-co .checkout-country { min-width: 0; }
.z-co .checkout-country select { width: 100%; min-width: 0; }
/* ===== /Checkout credit ===== */
/* AGY1 Filters, Listing, Newsletter, Consent, Compare, Installment: Zirve overrides */

/* Z-NEWSLETTER */
.z-newsletter-body { background: transparent; display: grid; place-items: center; min-height: 100vh; padding: 16px; }
.z-newsletter-card { display: flex; align-items: center; gap: 24px; width: 100%; max-width: 720px; padding: 32px; border: 1px solid var(--z-line); border-radius: 16px; background: #fff; box-shadow: var(--z-shadow-hover); }
.z-newsletter-card__icon { display: grid; place-items: center; flex: none; width: 64px; height: 64px; border-radius: 50%; background: var(--z-blue-soft); color: var(--z-blue); }
.z-newsletter-card__icon.is-success { background: #e6f6ee; color: var(--z-ok); }
.z-newsletter-card__icon.is-error { background: #fbeceb; color: var(--z-red); }
.z-newsletter-card__content { flex: 1; min-width: 0; }
.z-newsletter-card__title { margin: 0 0 6px; color: var(--z-ink); font-size: 20px; font-weight: 600; line-height: 1.3; }
.z-newsletter-card__desc { margin: 0 0 20px; color: var(--z-muted); font-size: 15px; }
.z-newsletter-form { display: grid; gap: 14px; }
.z-newsletter-form__row { display: flex; gap: 12px; }
.z-newsletter-form__input { flex: 1; min-width: 0; height: 48px; padding: 0 16px; border: 1px solid var(--z-line-strong); border-radius: 10px; background: #fff; color: var(--z-ink); font: inherit; font-size: 15px; transition: border-color .15s, box-shadow .15s; }
.z-newsletter-form__input:focus-visible { outline: none; border-color: var(--z-navy); box-shadow: 0 0 0 3px rgba(43,52,132,.12); }
.z-newsletter-form__btn { flex: none; height: 48px; }
.z-newsletter-form__consent { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; }
.z-newsletter-form__checkbox { position: absolute; opacity: 0; width: 0; height: 0; }
.z-newsletter-form__check-box { display: grid; place-items: center; flex: none; width: 20px; height: 20px; margin-top: 1px; border: 1px solid var(--z-line-strong); border-radius: 6px; background: #fff; color: transparent; transition: border-color .15s, background .15s, color .15s; }
.z-newsletter-form__checkbox:focus-visible ~ .z-newsletter-form__check-box { border-color: var(--z-navy); box-shadow: 0 0 0 3px rgba(43,52,132,.12); }
.z-newsletter-form__consent:hover .z-newsletter-form__check-box { border-color: var(--z-navy); }
.z-newsletter-form__checkbox:checked ~ .z-newsletter-form__check-box { border-color: var(--z-navy); background: var(--z-navy); color: #fff; }
.z-newsletter-form__consent-text { color: var(--z-muted); font-size: 13.5px; line-height: 1.5; }
.z-newsletter-result__actions { margin-top: 24px; }
.z-newsletter-result__back { margin-top: 24px; }
@media (max-width: 640px) {
    .z-newsletter-card { flex-direction: column; text-align: center; padding: 24px; }
    .z-newsletter-form__row { flex-direction: column; }
    .z-newsletter-form__consent { text-align: left; }
}

/* Z-CONSENT */
.z-consent__bar { position: fixed; bottom: 0; left: 0; right: 0; z-index: 1000; background: #fff; border-top: 1px solid var(--z-line); box-shadow: 0 -4px 24px rgba(22,28,64,.08); padding: 16px 0; }
.z-consent__bar-in { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.z-consent__content { flex: 1; min-width: 0; }
.z-consent__content p { margin: 0; color: var(--z-text); font-size: 14px; line-height: 1.5; }
.z-consent__link { color: var(--z-blue); font-weight: 600; text-decoration: underline; text-underline-offset: .18em; }
.z-consent__actions { display: flex; flex-wrap: wrap; gap: 10px; flex: none; }
.z-btn--sm { min-height: 40px; padding: 0 16px; font-size: 14.5px; }
.z-consent__panel { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 1001; width: 100%; max-width: 540px; margin: 0; padding: 0; border: 0; border-radius: 16px; background: #fff; box-shadow: 0 24px 48px rgba(22,28,64,.2); }
.z-consent__panel::backdrop { background: rgba(11,18,51,.4); backdrop-filter: blur(2px); }
.z-consent__panel-head { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; border-bottom: 1px solid var(--z-line-soft); }
.z-consent__panel-head h2 { margin: 0; color: var(--z-ink); font-size: 18px; font-weight: 600; }
.z-consent__close { display: grid; place-items: center; width: 36px; height: 36px; border: 0; border-radius: 8px; background: transparent; color: var(--z-muted); cursor: pointer; transition: background .15s, color .15s; }
.z-consent__close:hover { background: var(--z-page); color: var(--z-ink); }
.z-consent__panel-body { padding: 24px; max-height: 60vh; overflow-y: auto; }
.z-consent__fieldset { margin: 0; padding: 0; border: 0; display: grid; gap: 16px; }
.z-consent__option { display: flex; align-items: flex-start; gap: 14px; cursor: pointer; }
.z-consent__checkbox { position: absolute; opacity: 0; width: 0; height: 0; }
.z-consent__check-box { display: grid; place-items: center; flex: none; width: 22px; height: 22px; margin-top: 2px; border: 1px solid var(--z-line-strong); border-radius: 6px; background: #fff; color: transparent; transition: border-color .15s, background .15s, color .15s; }
.z-consent__checkbox:focus-visible ~ .z-consent__check-box { border-color: var(--z-navy); box-shadow: 0 0 0 3px rgba(43,52,132,.12); }
.z-consent__option:hover .z-consent__check-box { border-color: var(--z-navy); }
.z-consent__checkbox:checked ~ .z-consent__check-box { border-color: var(--z-navy); background: var(--z-navy); color: #fff; }
.z-consent__checkbox:disabled ~ .z-consent__check-box { background: var(--z-navy-soft); border-color: var(--z-navy-soft); color: var(--z-navy); cursor: not-allowed; }
.z-consent__option-text { display: grid; gap: 4px; }
.z-consent__option-text span { color: var(--z-ink); font-size: 15px; font-weight: 600; }
.z-consent__option-text small { color: var(--z-muted); font-size: 13.5px; line-height: 1.45; }
.z-consent__policy { margin: 20px 0 0; text-align: center; }
.z-consent__policy a { color: var(--z-blue); font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: .18em; }
.z-consent__panel-foot { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; padding: 20px 24px; border-top: 1px solid var(--z-line-soft); background: #f8fafc; border-radius: 0 0 16px 16px; }
@media (max-width: 640px) {
    .z-consent__bar-in { flex-direction: column; align-items: stretch; gap: 16px; }
    .z-consent__actions { grid-template-columns: 1fr; }
    .z-consent__actions button { width: 100%; }
    .z-consent__panel { border-radius: 16px 16px 0 0; top: auto; bottom: 0; transform: none; max-height: 90vh; }
    .z-consent__panel-foot { flex-direction: column; }
    .z-consent__panel-foot button { width: 100%; }
}
.z-consent__manage { position: fixed; bottom: 20px; left: 20px; z-index: 999; display: flex; align-items: center; gap: 12px; }
.z-consent__manage .z-btn { background: #fff; box-shadow: 0 2px 8px rgba(22,28,64,.1); border-color: var(--z-line); border-radius: 999px; }

/* Z-INSTALLMENTS */
.z-installments { margin-top: 32px; }
.z-installments__title { margin: 0 0 16px; color: var(--z-ink); font-size: 18px; font-weight: 600; }
.z-installments__table-wrap { overflow: hidden; border: 1px solid var(--z-line); border-radius: 12px; background: #fff; }
.z-installments__table { width: 100%; border-collapse: collapse; text-align: left; font-size: 14.5px; }
.z-installments__table th { padding: 14px 16px; background: #f8fafc; color: var(--z-muted); font-weight: 600; border-bottom: 1px solid var(--z-line); }
.z-installments__table td { padding: 14px 16px; color: var(--z-text); border-bottom: 1px solid var(--z-line-soft); }
.z-installments__table tbody tr:last-child td { border-bottom: 0; }
.z-installments__family { color: var(--z-ink); }
.z-installments__family b { font-weight: 600; display: inline-block; margin-right: 8px; }
.z-chip--sm { height: 20px; padding: 0 6px; font-size: 11px; }
.z-installments__note { margin: 12px 0 0; color: var(--z-muted); font-size: 13.5px; }
@media (max-width: 640px) {
    .z-hide-mobile { display: none; }
    .z-installments__table thead { display: none; }
    .z-installments__table, .z-installments__table tbody, .z-installments__table tr, .z-installments__table td { display: block; width: 100%; }
    .z-installments__table tr { border-bottom: 1px solid var(--z-line); padding: 16px; }
    .z-installments__table tbody tr:last-child { border-bottom: 0; }
    .z-installments__table td { border-bottom: 0; padding: 4px 0; display: flex; justify-content: space-between; align-items: center; }
    .z-installments__table td::before { content: attr(data-label); color: var(--z-muted); font-weight: 500; }
    .z-installments__family { margin-bottom: 8px; padding-bottom: 8px !important; border-bottom: 1px solid var(--z-line-soft) !important; flex-direction: column; align-items: flex-start !important; }
    .z-installments__family::before { display: none; }
}

/* Z-COMPARE */
.z-compare { padding-top: 24px; padding-bottom: 48px; }
.z-compare__head { text-align: center; margin: 24px 0 40px; }
.z-compare__head h1 { margin: 8px 0; }
.z-compare__note { color: var(--z-muted); font-size: 15px; }
.z-compare__table-wrap { overflow-x: auto; border: 1px solid var(--z-line); border-radius: 16px; background: #fff; box-shadow: var(--z-shadow-hover); position: relative; scrollbar-width: thin; }
.z-compare__scroll-hint { display: none; }
.z-compare__table { width: 100%; border-collapse: separate; border-spacing: 0; text-align: left; font-size: 14.5px; }
.z-compare__table th, .z-compare__table td { padding: 16px 20px; border-bottom: 1px solid var(--z-line-soft); border-right: 1px solid var(--z-line-soft); white-space: nowrap; }
.z-compare__table th:last-child, .z-compare__table td:last-child { border-right: 0; }
.z-compare__table tbody tr:last-child th, .z-compare__table tbody tr:last-child td { border-bottom: 0; }
.z-compare__sticky-col { position: sticky; left: 0; z-index: 10; background: #f8fafc; color: var(--z-ink); font-weight: 600; box-shadow: 1px 0 0 var(--z-line); }
.z-compare__product-col { min-width: 240px; vertical-align: bottom; background: #fff; }
.z-compare__product { display: flex; flex-direction: column; gap: 12px; }
.z-compare__image { width: 120px; height: 120px; object-fit: contain; border-radius: 10px; border: 1px solid var(--z-line-soft); padding: 8px; }
.z-compare__noimg { display: grid; place-items: center; width: 120px; height: 120px; border-radius: 10px; border: 1px dashed var(--z-line-strong); color: var(--z-faint); font-size: 13px; }
.z-compare__title { color: var(--z-ink); font-size: 15px; white-space: normal; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.z-compare__price { color: var(--z-blue); font-weight: 700; font-size: 16px; }
.z-compare__unit { color: var(--z-muted); font-weight: 400; font-size: 13px; }
@media (max-width: 959px) {
    .z-compare__scroll-hint { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 12px; background: var(--z-navy-soft); color: var(--z-navy); font-size: 13.5px; font-weight: 600; position: sticky; left: 0; z-index: 20; }
    .z-compare__scroll-hint svg { width: 16px; height: 16px; transform: rotate(-90deg); animation: bounceX 1.5s infinite; }
}
@keyframes bounceX { 0%, 100% { transform: rotate(-90deg) translateY(0); } 50% { transform: rotate(-90deg) translateY(4px); } }

/* AGY2 listing/filter rules consolidated in FLT below. */

/* FLT — shared listing headers, native filter disclosures and results toolbar. */
.z-listing .breadcrumbs.z-crumbs { padding: 16px 0 0; }
.z-listing .z-category__head { align-items: center; gap: 18px; margin: 20px 0 24px; text-align: left; }
.z-listing .z-category__head > div, .z-listing .z-brand__head-text { min-width: 0; }
.z-listing .z-category__title-group { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 14px; }
.z-listing .z-category__head h1 { margin: 0; overflow-wrap: anywhere; }
.z-listing .z-category__count { flex: none; margin: 0; padding: 4px 10px; border: 1px solid var(--z-line); border-radius: 7px; background: #fff; color: var(--z-muted); font-size: 13px; font-weight: 500; line-height: 1.4; white-space: nowrap; }
.z-listing .z-category__desc { max-width: 70ch; margin: 12px 0 0; color: var(--z-muted); overflow-wrap: anywhere; }
.z-listing .z-tagpage__head { flex-direction: column; align-items: flex-start; gap: 0; }
.z-listing .z-category__layout { grid-template-columns: 292px minmax(0, 1fr); gap: 0 24px; }
.z-listing__controls { grid-column: 2; grid-row: 1; min-width: 0; }
.z-listing .z-side { grid-column: 1; grid-row: 2; }
.z-listing .z-category__main { grid-column: 2; grid-row: 2; }
.z-listing .z-listing__layout--full .z-category__main { grid-column: 1; grid-row: auto; }
.z-listing .z-listing__layout--full { grid-template-columns: minmax(0, 1fr); }
.z-listing .z-side { position: sticky; top: 24px; min-width: 0; }
.z-listing .z-filters { margin: 0; padding: 0; border: 1px solid var(--z-line); border-radius: var(--z-radius); background: #fff; }
.z-listing .z-filters > summary { display: flex; align-items: center; gap: 10px; min-height: 60px; margin: 0; padding: 14px 18px; border: 0; color: var(--z-ink); font-size: 16px; font-weight: 600; list-style: none; cursor: pointer; }
.z-listing .z-filters > summary::before, .z-listing .z-filters > summary::after { content: none; }
.z-listing .z-filters > summary::-webkit-details-marker, .z-filterbox summary::-webkit-details-marker { display: none; }
.z-listing .z-filters > summary::marker, .z-filterbox summary::marker { content: ''; }
.z-listing .z-filters[open] > summary { border-bottom: 1px solid var(--z-line-soft); }
.z-listing .z-filters > summary:hover { background: var(--z-page); border-radius: var(--z-radius); }
.z-listing .z-filters[open] > summary:hover { border-radius: var(--z-radius) var(--z-radius) 0 0; }
.z-listing__filter-count { display: grid; place-items: center; min-width: 24px; height: 24px; padding-inline: 6px; border-radius: 6px; background: var(--z-navy-soft); color: var(--z-navy); font-size: 12px; font-variant-numeric: tabular-nums; }
.z-listing__toggle-icon { flex: none; margin-left: auto; color: var(--z-muted); transform: rotate(90deg); transition: transform .16s ease; }
.z-filters[open] > summary .z-listing__toggle-icon { transform: rotate(270deg); }
.z-listing .z-filters__content { padding: 0; }
.z-body .z-listing .z-filters .z-filterbox { display: flex; flex-direction: column; min-width: 0; margin: 0; padding: 0; border: 0; background: transparent; }
.z-filterbox__title { margin: 0 0 14px; color: var(--z-ink); font-size: 16px; }
.z-filterbox__body { display: grid; max-height: max(160px, calc(100svh - 560px)); overflow-y: auto; padding: 0 16px; scrollbar-width: thin; scrollbar-color: var(--z-line-strong) transparent; }
.z-listing:has(.z-listing__chips) .z-filterbox__body { max-height: max(160px, calc(100svh - 620px)); }
.z-filterbox__group { min-width: 0; margin: 0; padding: 0 0 16px; border: 0; border-bottom: 1px solid var(--z-line-soft); }
.z-filterbox__group:not([open]) { padding-bottom: 0; }
.z-filterbox__group:last-child { border-bottom: 0; }
.z-filterbox__summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 12px 0; color: var(--z-ink); font-size: 14px; font-weight: 600; list-style: none; cursor: pointer; overflow-wrap: anywhere; }
.z-filterbox__summary:hover { color: var(--z-navy); }
.z-filterbox__summary-icon { flex: none; color: var(--z-muted); transform: rotate(90deg); transition: transform .16s ease; }
.z-filterbox__group[open] > summary .z-filterbox__summary-icon { transform: rotate(270deg); }
.z-filterbox__select, .z-filters .z-filterbox label.z-filterbox__search { position: relative; display: block; min-width: 0; margin: 0; }
.z-filterbox__select select, .z-filters .z-filterbox input[type="search"], .z-filters .z-filterbox input[type="number"], .z-filters .z-filterbox select {
    display: block; box-sizing: border-box; width: 100%; min-width: 0; min-height: 44px; margin: 0; padding: 10px 12px; border: 1px solid var(--z-line-strong); border-radius: 8px; background: #fff; color: var(--z-ink); font: inherit; font-size: 14px; line-height: 1.4;
}
.z-filterbox__select select, .z-filters .z-filterbox select { padding-right: 36px; appearance: none; cursor: pointer; }
.z-filterbox__select-icon { position: absolute; top: 50%; right: 12px; color: var(--z-muted); transform: translateY(-50%) rotate(90deg); pointer-events: none; }
.z-filters .z-filterbox input[type="search"] { padding-left: 42px; }
.z-filterbox__search-icon { position: absolute; top: 50%; left: 14px; color: var(--z-muted); transform: translateY(-50%); pointer-events: none; }
.z-filterbox input::placeholder { color: var(--z-muted); opacity: 1; }
.z-filterbox__options { display: grid; gap: 2px; }
.z-filters .z-filterbox label.z-filterbox__check, .z-filters .z-filterbox label.z-filterbox__radio {
    position: relative; display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 44px; margin: 0; padding: 8px 6px; border-radius: 6px; color: var(--z-text); font-size: 14px; line-height: 1.45; cursor: pointer;
}
.z-filterbox__check input, .z-filterbox__radio input { position: absolute; width: 1px; height: 1px; margin: 0; padding: 0; opacity: 0; }
.z-filters .z-filterbox .z-filterbox__check-box, .z-filters .z-filterbox .z-filterbox__radio-box {
    display: grid; place-items: center; box-sizing: border-box; width: 20px; height: 20px; border: 1.5px solid #8a93a7; border-radius: 5px; background: #fff; color: transparent;
}
.z-filters .z-filterbox .z-filterbox__radio-box { border-radius: 50%; }
.z-filterbox__radio-box::after { width: 8px; height: 8px; border-radius: 50%; background: currentColor; content: ''; }
.z-filters .z-filterbox .z-filterbox__check-text, .z-filters .z-filterbox .z-filterbox__radio-text { min-width: 0; color: var(--z-text); overflow-wrap: anywhere; }
.z-filters .z-filterbox .z-filterbox__count { padding-left: 2px; color: var(--z-muted); font-size: 12px; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.z-filters .z-filterbox input:checked + .z-filterbox__check-box, .z-filters .z-filterbox input:checked + .z-filterbox__radio-box { border-color: var(--z-navy); background: var(--z-navy); color: #fff; }
.z-filters .z-filterbox label:has(input:checked) { background: var(--z-navy-soft); }
.z-filters .z-filterbox label:has(input:disabled) { background: transparent; cursor: not-allowed; }
.z-filters .z-filterbox label:has(input:disabled) .z-filterbox__check-text, .z-filters .z-filterbox label:has(input:disabled) .z-filterbox__radio-text { color: var(--z-muted); }
.z-filters .z-filterbox input:disabled + .z-filterbox__check-box, .z-filters .z-filterbox input:disabled + .z-filterbox__radio-box { border-color: var(--z-line); background: var(--z-page); }
.z-filters .z-filterbox input:disabled:checked + span { color: var(--z-muted); }
.z-filters .z-filterbox label:not(:has(input:disabled)):hover { background: var(--z-page); }
.z-filters .z-filterbox label:not(:has(input:disabled)):hover input + span { border-color: var(--z-navy); }
.z-filters .z-filterbox .z-filterbox__pricerow { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
.z-filters .z-filterbox .z-filterbox__pricerow--wide { grid-template-columns: minmax(0, 1fr); }
.z-filters .z-filterbox .z-filterbox__pricerow label { position: relative; min-width: 0; margin: 0; }
.z-filters .z-filterbox input[type="number"] { padding: 10px 26px 10px 7px; font-size: 13px; font-variant-numeric: tabular-nums; appearance: textfield; }
.z-filterbox input[type="number"]::-webkit-inner-spin-button, .z-filterbox input[type="number"]::-webkit-outer-spin-button { margin: 0; appearance: none; }
.z-filters .z-filterbox .z-filterbox__currency { position: absolute; top: 50%; right: 8px; color: var(--z-muted); font-size: 12px; transform: translateY(-50%); pointer-events: none; }
.z-filterbox .z-filterbox__price-apply { width: 100%; min-height: 44px; margin-top: 10px; font-size: 14px; }
.z-filters .z-filterbox p.z-filterbox__bucket { margin: 10px 0 0; color: var(--z-muted); font-size: 12px; overflow-wrap: anywhere; }
.z-filterbox__actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 16px; border-top: 1px solid var(--z-line-soft); border-radius: 0 0 var(--z-radius) var(--z-radius); background: #fff; }
.z-filterbox__actions .z-btn { min-height: 44px; padding-inline: 18px; font-size: 14px; }
.z-listing__clear { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; color: var(--z-navy); font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.z-listing__clear:hover { color: var(--z-blue-strong); }
.z-listing__chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 14px; }
.z-listing__chip { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; max-width: 100%; padding: 8px 12px; border: 1px solid var(--z-line-strong); border-radius: 8px; background: #fff; color: var(--z-navy); font-size: 13px; line-height: 1.4; text-decoration: none; }
.z-listing__chip span { min-width: 0; overflow-wrap: anywhere; }
.z-listing__chip svg { flex: none; }
.z-listing__chip:hover { border-color: var(--z-navy); background: var(--z-navy-soft); }
.z-listing__toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; min-height: 60px; margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid var(--z-line); }
.z-listing__results { margin: 0; color: var(--z-muted); font-size: 14px; font-variant-numeric: tabular-nums; }
.z-listing__sort { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; min-width: 0; }
.z-listing__sort > label { color: var(--z-muted); font-size: 13px; }
.z-listing__sort .z-filterbox__select { width: 200px; max-width: 100%; }
.z-listing__sort .z-btn { min-height: 44px; padding-inline: 12px; font-size: 13px; }
.z-listing__sort-apply[hidden] { display: none; }
.z-filterbox .z-sidecats a { min-height: 44px; border: 0; overflow-wrap: anywhere; }
.z-listing .z-empty { display: grid; justify-items: center; align-content: center; min-height: 280px; padding: 40px 24px; border-style: solid; }
.z-listing .z-empty h2, .z-listing .z-empty p { max-width: 42ch; overflow-wrap: anywhere; }
.z-listing__empty-icon { margin-bottom: 16px; color: var(--z-muted); }
.z-listing .z-brand__logo { display: grid; place-items: center; flex: none; width: 72px; height: 72px; padding: 10px; border: 1px solid var(--z-line); border-radius: var(--z-radius); background: #fff; }
.z-brand__logo img { width: 100%; height: 100%; object-fit: contain; }
.z-listing :is(a, button, select, summary, input):focus-visible, .z-filterbox :is(select, summary, input):focus-visible { outline: 2px solid var(--z-navy); outline-offset: 3px; }
.z-filters .z-filterbox input:focus-visible + span { outline: 2px solid var(--z-navy); outline-offset: 3px; }
.z-filters .z-filterbox :is(.z-filterbox__check, .z-filterbox__radio) input:focus-visible { outline: none; }
.z-filters .z-filterbox :is(.z-filterbox__check, .z-filterbox__radio):has(input:focus-visible) { background: var(--z-navy-soft); }
@media (max-width: 959px) {
    .z-listing .z-category__layout { display: flex; flex-direction: column; gap: 20px; }
    .z-listing .z-category__layout > * { width: 100%; }
    .z-listing .z-side { order: 0; }
    .z-listing__controls { order: 1; }
    .z-listing .z-category__main { order: 2; }
    .z-listing__controls .z-listing__toolbar { margin-bottom: 0; }
    .z-listing .z-side { position: static; max-height: none; overflow: visible; }
    .z-listing .z-filters > summary { min-height: 48px; padding: 12px 16px; }
    .z-listing .z-filters[open] { border-color: var(--z-line-strong); }
    .z-listing .z-filters__content { position: static; height: auto; max-height: none; overflow: visible; }
    .z-filterbox__body, .z-listing:has(.z-listing__chips) .z-filterbox__body { max-height: none; overflow: visible; }
    .z-filters .z-filterbox .z-filterbox__pricerow--wide { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .z-filterbox__actions { padding-bottom: max(16px, env(safe-area-inset-bottom)); }
}
@media (max-width: 639px) {
    .z-listing .z-grid:has(> .z-card:only-child) { grid-template-columns: minmax(0, 1fr); }
    .z-listing .z-category__head { gap: 12px; margin: 16px 0 20px; }
    .z-listing .z-category__head h1 { font-size: 24px; }
    .z-listing__toolbar { gap: 12px; margin-bottom: 16px; }
    .z-listing__sort { flex: 1; justify-content: flex-end; }
    .z-listing__sort > label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .z-listing__sort .z-filterbox__select { width: min(200px, 100%); }
    .z-listing__chips .z-listing__clear { margin-left: auto; }
    .z-listing .z-empty { min-height: 260px; padding: 32px 18px; }
}
@media (prefers-reduced-motion: reduce) {
    .z-filterbox__summary-icon, .z-listing__toggle-icon { transition: none; }
}
/* ===== pdp ===== */
.z-body .product-detail.z-pdp { grid-template-columns: minmax(0, 1.13fr) minmax(0, 1fr); align-items: start; gap: 52px; padding: 0; border: 0; background: transparent; }
.z-pdp__gallery { padding: 24px; border: 1px solid var(--z-line); border-radius: 18px; background: #fff; }
.z-pdp__stage { position: relative; overflow: hidden; border-radius: 12px; background: #fff; touch-action: pan-y; }
.z-pdp__gallery .product-main-image { display: block; width: 100%; aspect-ratio: 1; margin: 0; padding: 28px; border: 0; border-radius: 0; background: #fff; cursor: zoom-in; }
.z-pdp__image img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .24s ease; }
.z-pdp__image:focus-visible { outline-offset: -3px; }
.z-pdp__gallery .z-pdp__empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 36px; background: #f8f9fc; color: var(--z-muted); text-align: center; cursor: default; }
.z-pdp__empty svg { width: 52px; height: 52px; color: var(--z-line-strong); }
.z-pdp__empty strong { color: var(--z-ink); font-size: 18px; }
.z-pdp__empty span { max-width: 28ch; font-size: 14px; }
.z-pdp__gallery-tools { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 0 0; color: var(--z-muted); font-size: 12px; }
.z-pdp__gallery-tools > span:first-child { font-variant-numeric: tabular-nums; font-weight: 650; }
.z-pdp__gallery-tools > span:last-child { display: flex; align-items: center; gap: 6px; }
.z-pdp__gallery-tools svg { width: 16px; height: 16px; }
.z-pdp__nav { position: absolute; top: 45%; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--z-line); border-radius: 50%; background: #fff; color: var(--z-navy); cursor: pointer; }
.z-pdp__nav:hover { border-color: var(--z-navy); background: var(--z-navy-soft); }
.z-pdp__nav--prev { left: 0; } .z-pdp__nav--next { right: 0; }
.z-pdp__gallery .z-pdp__thumbs { display: flex; flex-wrap: nowrap; gap: 10px; overflow-x: auto; margin: 18px 0 0; padding: 3px 3px 8px; scroll-snap-type: x mandatory; }
.z-pdp__thumbs .z-thumb { flex: 0 0 68px; width: 68px; height: 68px; scroll-snap-align: start; }
.z-pdp .z-buy__brand { display: inline-flex; align-items: center; min-height: 44px; }
.z-pdp .z-about a { display: inline-flex; align-items: center; min-height: 44px; }
.z-body .z-pdp .z-buy { position: sticky; top: 24px; padding: 22px 0 0; }
.z-body .z-pdp h1.z-buy__title { margin: 8px 0 10px; font-size: clamp(25px, 2.35vw, 34px); font-weight: 650; line-height: 1.22; letter-spacing: -.035em; overflow-wrap: anywhere; text-wrap: pretty; }
.z-pdp__rating { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; min-height: 44px; margin-bottom: 8px; color: var(--z-muted); font-size: 13px; text-decoration: none; }
.z-pdp__rating:hover { color: var(--z-blue); }
.z-pdp__stars { color: var(--z-faint); letter-spacing: 2px; }
.z-pdp__rating.has-rating .z-pdp__stars { color: #966600; }
.z-pdp .z-buy__meta { margin-bottom: 20px; gap: 10px 18px; font-size: 13px; overflow-wrap: anywhere; }
.z-pdp .z-stock { padding: 3px 9px; border-radius: 6px; background: #ecf7f0; }
.z-pdp .z-stock--out { background: #fff0ed; }
.z-pdp .z-pricebox { margin: 0; padding: 20px 0; border: 0; border-top: 1px solid var(--z-line); border-radius: 0; background: transparent; }
.z-pdp .z-pricebox__label { margin-bottom: 4px; font-size: 12px; }
.z-pdp .z-pricebox__now { color: var(--z-ink); font-size: clamp(28px, 3vw, 38px); font-weight: 700; letter-spacing: -.035em; overflow-wrap: anywhere; }
.z-body .z-pdp .z-pricebox__was.sale-list-price { color: var(--z-red); font-size: 15px; }
.z-body .z-pdp .sale-discount.z-chip { height: auto; padding: 4px 8px; background: #fff0ed; color: #b32914; font-size: 12px; }
.z-pdp__perks { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.z-pdp__perks .z-card__perk { display: inline-flex; align-items: center; gap: 7px; margin: 0; padding: 8px 10px; border: 1px solid #d9eaf3; border-radius: 8px; background: #f1f8fc; color: var(--z-blue-strong); font-size: 12px; font-weight: 600; }
.z-pdp__perks svg { flex: none; width: 17px; height: 17px; }
.z-pdp__quantity { display: grid; gap: 6px; }
.z-pdp__quantity > label { color: var(--z-muted); font-size: 12px; font-weight: 600; }
.z-pdp__quantity-line { display: flex; align-items: center; gap: 12px; min-width: 0; }
.z-pdp__stepper { display: grid; flex: 0 0 150px; grid-template-columns: 46px minmax(0, 1fr) 46px; height: 48px; border: 1px solid var(--z-line-strong); border-radius: 10px; background: #fff; }
.z-pdp__stepper button { min-height: 44px; padding: 0; border: 0; border-radius: 9px; background: transparent; color: var(--z-navy); font: 24px var(--z-font); cursor: pointer; }
.z-pdp__stepper button:hover { background: var(--z-navy-soft); }
.z-pdp__stepper button:disabled { color: var(--z-faint); cursor: default; }
.z-body .z-pdp__stepper input { width: 100%; min-width: 0; height: 46px; min-height: 44px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--z-ink); font-size: 15px; font-weight: 650; text-align: center; appearance: textfield; box-shadow: none; }
.z-pdp__stepper input::-webkit-inner-spin-button, .z-pdp__stepper input::-webkit-outer-spin-button { appearance: none; margin: 0; }
.z-pdp__message { margin: 0; color: #965112; font-size: 12px; font-weight: 500; line-height: 1.5; overflow-wrap: anywhere; }
.z-pdp__message:empty { display: none; }
.z-pdp .z-buyform { gap: 14px; }
.z-pdp .z-buyform__row { align-items: center; gap: 10px; }
.z-pdp .z-buyform__row .z-btn { min-height: 54px; font-size: 15px; }
.z-pdp .z-buyform__row .z-btn:disabled { border-color: var(--z-line-strong); background: #e8ebf2; color: var(--z-muted); opacity: 1; cursor: not-allowed; }
.z-pdp .z-heart { width: 54px; height: 54px; }
.z-pdp .z-btn--whatsapp { min-height: 48px; border: 1px solid #d1eadb; background: #f1f9f4; color: #116a35; font-size: 14px; }
.z-pdp .z-btn--whatsapp:hover { border-color: #25d366; background: #e5f6eb; }
.z-body svg.z-whatsapp-mark { color: #25d366; }
.z-pdp .z-btn--whatsapp .z-whatsapp-mark { color: #25d366; }
.z-pdp .z-trust { margin-top: 24px; padding-top: 20px; gap: 12px; }
.z-pdp .z-trust li { font-size: 12px; }
.z-pdp .z-trust li:first-child { display: none; }
.z-pdp .z-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.z-pdp .z-about { margin-top: 22px; }
.z-pdp__cart-check { min-height: 44px; padding: 10px 0; color: var(--z-blue); font-weight: 600; }
.z-pdp__sections { display: flex; flex-wrap: wrap; gap: 6px 24px; margin-top: 36px; padding-block: 12px; border-bottom: 1px solid var(--z-line); }
.z-pdp__sections a { display: inline-flex; align-items: center; min-height: 44px; color: var(--z-muted); font-size: 14px; font-weight: 600; text-decoration: none; }
.z-pdp__sections a:hover { color: var(--z-navy); }
.z-pdp__details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 24px; }
.z-pdp__detail { min-width: 0; padding: 26px 30px; border: 1px solid var(--z-line); border-radius: 14px; background: #fff; scroll-margin-top: 24px; }
.z-pdp__detail h2 { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; color: var(--z-ink); font-size: 18px; font-weight: 600; }
.z-pdp__detail h2 svg { color: var(--z-blue); }
.z-pdp__detail p { margin: 0 0 12px; color: var(--z-muted); font-size: 14px; line-height: 1.7; }
.z-pdp__detail a { display: inline-flex; align-items: center; min-height: 44px; color: var(--z-blue); font-size: 14px; text-underline-offset: 3px; }
.z-pdp__detail dl { margin: 0; font-size: 14px; }
.z-pdp__detail dl > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 20px; padding: 11px 0; border-bottom: 1px solid var(--z-line-soft); }
.z-pdp__detail dt { color: var(--z-muted); } .z-pdp__detail dd { margin: 0; color: var(--z-ink); overflow-wrap: anywhere; }
.z-pdp__variants { margin-top: 20px; } .z-pdp__variants .varimg-option-values { flex-wrap: wrap; }
.z-pdp__zoom { width: min(1000px, calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 32px); padding: 54px 24px 20px; border: 0; border-radius: 18px; background: #fff; color: var(--z-ink); }
.z-pdp__zoom::backdrop { background: rgba(17, 24, 43, .72); }
.z-pdp__zoom > img { display: block; width: 100%; height: min(65dvh, 700px); object-fit: contain; }
.z-pdp__zoom-close { position: absolute; top: 10px; right: 10px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--z-line); border-radius: 50%; background: #fff; color: var(--z-navy); cursor: pointer; }
.z-pdp__zoom-controls { display: flex; justify-content: center; align-items: center; gap: 24px; margin-top: 16px; font-variant-numeric: tabular-nums; }
.z-pdp__zoom-controls button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--z-line); border-radius: 10px; background: #fff; color: var(--z-navy); cursor: pointer; }
html:has(.z-pdp__zoom[open]) { overflow: hidden; }
.z-pdp__mobile { display: none; }
.z-body .z-pdp [hidden] { display: none; }
@media (hover: hover) and (pointer: fine) { .z-pdp__image:hover img { transform: scale(1.45); } }
@media (max-width: 959px) {
    .z-body .product-detail.z-pdp { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .z-body .z-pdp .z-buy { position: static; padding: 0 20px 24px; border: 1px solid var(--z-line); border-radius: 16px; background: #fff; }
    .z-pdp .z-buy__brand { margin-top: 14px; }
    .z-body .z-pdp h1.z-buy__title { margin-top: 20px; font-size: 27px; }
    .z-pdp .z-buy__brand + h1.z-buy__title { margin-top: 8px; }
    .z-pdp__mobile { position: fixed; bottom: 0; left: 0; right: 0; z-index: 35; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px max(16px, env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); border-top: 1px solid var(--z-line); background: #fff; box-shadow: 0 -6px 24px rgba(22, 28, 64, .07); }
    .z-pdp__mobile > div { display: grid; gap: 2px; min-width: 0; max-width: 60%; }
    .z-pdp__mobile > div > span { color: var(--z-muted); font-size: 11px; }
    .z-pdp__mobile strong { color: var(--z-ink); font-size: 19px; font-weight: 700; letter-spacing: -.03em; overflow-wrap: anywhere; }
    .z-pdp__mobile .z-btn { flex: none; min-height: 48px; padding-inline: 16px; }
    .z-pdp__mobile .z-btn:disabled { border-color: var(--z-line); background: var(--z-page); color: var(--z-muted); cursor: default; }
    body:has([data-pdp]) { padding-bottom: 90px; }
    .z-pdp__details { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 599px) {
    .z-pdp__gallery { padding: 14px; border-radius: 14px; }
    .z-pdp__gallery .product-main-image { padding: 22px; }
    .z-pdp__gallery-tools { font-size: 11px; }
    .z-pdp__thumbs .z-thumb { flex-basis: 58px; width: 58px; height: 58px; }
    .z-body .product-detail.z-pdp { gap: 16px; margin-top: 10px; }
    .z-body .z-pdp .z-buy { padding-inline: 18px; }
    .z-body .z-pdp h1.z-buy__title { font-size: 25px; font-weight: 600; letter-spacing: -.025em; }
    .z-pdp .z-pricebox__now { font-size: 31px; }
    .z-pdp__quantity-line { align-items: flex-start; }
    .z-pdp__message { padding-top: 3px; }
    .z-pdp__sections { gap: 0 20px; margin-top: 20px; padding-block: 6px; }
    .z-pdp__sections a { font-size: 12px; }
    .z-pdp__detail { padding: 22px 20px; }
    .z-pdp__details { gap: 16px; margin-top: 16px; }
    .z-pdp__zoom { padding-inline: 12px; border-radius: 12px; }
    .z-pdp__zoom > img { height: 60dvh; }
}
@media (prefers-reduced-motion: reduce) { .z-pdp__image img { transition: none; } }
/* ===== /pdp ===== */

/* ===== navft ===== */
.z-mainlinks { display: flex; align-items: center; gap: 18px; }
.z-mainlinks a { display: inline-flex; align-items: center; gap: 6px; color: var(--z-muted); font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.z-mainlinks a:hover { color: var(--z-blue); }
.z-mainlinks .z-icon { width: 17px; height: 17px; }
.z-footer__col li > a::before, .z-legal a::before { content: ""; display: inline-block; flex: none; width: 5px; height: 5px; margin-right: 10px; border-top: 1.5px solid var(--z-cyan); border-right: 1.5px solid var(--z-cyan); transform: rotate(45deg); transition: transform .16s ease; vertical-align: 2px; }
.z-footer__col li > a:hover::before, .z-legal a:hover::before { transform: translateX(2px) rotate(45deg); }
.z-credit a { color: var(--z-blue); font-weight: 600; text-decoration: none; }
.z-credit a:hover { text-decoration: underline; text-underline-offset: 3px; }
.z-icon--whatsapp, .z-contact .z-icon--whatsapp, .z-dlist .z-icon--whatsapp, .z-touch__icon--green .z-icon--whatsapp, .z-article__share .z-icon--whatsapp { color: #25d366; }
.z-contact li > a::before { align-self: center; }
.z-contact li > a { display: flex; gap: 8px; min-width: 0; }
.z-contact li > a span { min-width: 0; }
.z-footer__col:not(.z-contact) li > a { display: flex; align-items: baseline; }
.z-dnav__heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 32px; }
.z-dnav__heading h2 { margin: 0; min-width: 0; color: var(--z-muted); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.z-dnav__back, .z-dnav__help, .z-dnav__pager button { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 0 12px; border: 1px solid var(--z-line); border-radius: 10px; background: #fff; color: var(--z-navy); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.z-dnav__back .z-icon { width: 16px; height: 16px; transform: rotate(180deg); }
.z-dnav__help { flex: none; width: 100%; margin-top: 8px; }
.z-dnav__help .z-icon:last-child { margin-left: auto; width: 16px; }
.z-dnav__pager { display: flex; flex: none; align-items: center; justify-content: center; gap: 16px; margin-top: 6px; color: var(--z-muted); font-size: 12px; }
.z-dnav__pager button { width: 40px; min-height: 32px; font-size: 22px; }
.z-dnav__pager button:disabled { color: var(--z-line-strong); cursor: default; }
.z-drawer__panel [hidden] { display: none; }
.z-drawer.is-enhanced .z-dnav__list[hidden] { display: none; }
.z-drawer.is-enhanced .z-drawer__body { display: flex; padding: 8px 16px 12px; overflow: hidden; }
.z-drawer.is-enhanced .z-dnav { display: flex; flex: 1; flex-direction: column; min-width: 0; min-height: 0; }
.z-drawer.is-enhanced .z-dhelp { display: none; }
.z-drawer.is-enhanced .z-dnav__list { display: flex; flex: 1; flex-direction: column; gap: 6px; min-height: 0; padding-top: 6px; }
.z-drawer.is-enhanced .z-dnav__list > li { flex: 1; min-height: 44px; max-height: 80px; }
.z-drawer.is-enhanced .z-dcard__group { height: 100%; }
.z-drawer.is-enhanced .z-dcard__sub { display: none; }
.z-drawer__panel .z-dcard__link { grid-template-columns: 40px minmax(0, 1fr); gap: 12px; height: 100%; min-height: 44px; padding: 6px 12px; box-sizing: border-box; }
.z-drawer__panel .z-dcard__media { grid-column: 1; grid-row: 1; width: 40px; height: 40px; border-radius: 8px; background: var(--z-page); color: var(--z-muted); }
.z-drawer__panel .z-dcard__media picture { width: 100%; height: 100%; }
.z-drawer__panel .z-dcard__media:has(img) > .z-icon { display: none; }
.z-drawer__panel .z-dcard__media img { padding: 0; object-fit: cover; mix-blend-mode: normal; }
.z-drawer__panel .z-dcard__text { grid-column: 2; grid-row: 1; }
.z-drawer__panel .z-dcard__label { font-size: 14px; }
.z-drawer__panel .z-dcard__meta { font-size: 11px; }
.z-drawer__panel .z-dcard__meta .z-icon { width: 12px; }
.z-dcard--home { border-color: #d8e7f0; background: var(--z-blue-soft); }
.z-drawer__panel .z-dhome { margin: 0; color: var(--z-blue-strong); }
.z-drawer__panel .z-dhome .z-dcard__media { background: #fff; color: var(--z-blue); }
.z-dnav__level-link { display: flex; align-items: center; gap: 10px; height: 100%; min-height: 44px; padding: 6px 12px; color: var(--z-text); text-decoration: none; font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.z-dnav__level-link span { display: -webkit-box; min-width: 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.z-dnav__level-link .z-icon { color: var(--z-blue); }
.z-dnav__level-link .z-icon--whatsapp { color: #25d366; }
@media (min-width: 1181px) {
    .z-footer__grid { grid-template-columns: minmax(0, 1.2fr) repeat(3, minmax(0, 1fr)) minmax(0, 1.35fr); gap: 24px; }
}
@media (min-width: 960px) and (max-width: 1180px) {
    .z-mainbar__end { gap: 12px; }
    .z-mainlinks { gap: 12px; }
    .z-mainlinks .z-icon { display: none; }
    .z-fav__label { display: none; }
}
@media (max-width: 959px) { .z-mainlinks { display: none; } }
@media (max-width: 640px) {
    .z-wrap.hero-slider .hero-slider__viewport, .z-wrap.hero-slider:not(.hero-slider--mobile-art) .hero-slider__viewport { aspect-ratio: 1 / 1; }
    .z-wrap.hero-slider .hero-slider__image, .z-wrap.hero-slider .hero-slider__video,
    .z-wrap.hero-slider:not(.hero-slider--mobile-art) .hero-slider__image,
    .z-wrap.hero-slider:not(.hero-slider--mobile-art) .hero-slider__video { object-position: center; }
    .z-hero:not(.hero-slider) .z-hero__slide { aspect-ratio: 1 / 1; }
    .z-footer__trust-in { justify-content: center; }
    .z-paybadges { flex-direction: column; justify-content: center; width: 100%; text-align: center; }
    .z-paybadges__label { justify-content: center; }
    .z-paybadges img { max-width: 100%; }
    .z-footer__bottom-in { justify-content: center; text-align: center; }
    .z-legal { justify-content: center; }
    .z-footer__grid .z-contact { grid-column: 1 / -1; }
    .z-mainbar { gap: 10px 8px; }
    .z-mainbar__end, .z-actions { gap: 2px; }
    .z-logo img { max-width: 100%; height: auto; max-height: 44px; }
}
@media (max-height: 700px) {
    .z-drawer__head { min-height: 60px; padding-block: 8px; }
    .z-dbar a { min-height: 52px; }
    .z-drawer.is-enhanced .z-drawer__body { padding-block: 4px 8px; }
    .z-dnav__heading { min-height: 24px; }
    .z-dnav__help { margin-top: 4px; }
    .z-drawer__panel .z-dcard__meta { display: none; }
    .z-drawer.is-enhanced .z-dnav__list { gap: 4px; padding-top: 4px; }
    .z-drawer__panel .z-dcard__media { width: 32px; height: 32px; }
    .z-drawer__panel .z-dcard__link { padding-block: 4px; grid-template-columns: 32px minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .z-footer__col li > a::before, .z-legal a::before { transition: none; } }
/* ===== /navft ===== */
/* ===== cards ===== */
.z-card:focus-within { box-shadow: none; }
.z-card__link:focus { outline: none; }
.z-card__link:focus-visible::after { inset: 4px; border-radius: 9px; outline: 2px solid var(--z-blue); outline-offset: -2px; }
.z-card__was { color: var(--z-red); }
.z-card__title { overflow-wrap: anywhere; }
.z-card__now, .z-card__was { max-width: 100%; overflow-wrap: anywhere; }
.z-card__labels { display: flex; flex-wrap: wrap; gap: 5px; min-width: 0; margin: 0; padding: 0; list-style: none; }
.z-card__labels li { display: flex; min-width: 0; max-width: 100%; }
.z-product-badge {
    display: inline-flex; align-items: center; min-width: 0; max-width: 100%; min-height: 23px; padding: 3px 8px;
    border: 1px solid var(--z-line); border-radius: 999px; background: var(--z-navy-soft); color: var(--z-navy-strong);
    font-size: 11.5px; font-weight: 650; line-height: 1.35; vertical-align: middle;
}
.z-product-badge--new { border-color: #cde3ef; background: var(--z-blue-soft); color: var(--z-blue-strong); }
.z-product-badge--campaign { border-color: #f0dfbf; background: #fff5e4; color: #855109; }
.z-product-badge--discount, .z-product-badge--unavailable { border-color: #f1d0c8; background: #fff2ee; color: #b52d18; }
.z-product-badge--stock { border-color: #cae5d4; background: #eef8f1; color: var(--z-green-strong); }
.z-product-badge[hidden] { display: none; }
.z-card__labels .z-product-badge { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.z-card__price .z-product-badge { margin-left: auto; white-space: nowrap; }
.z-card__perks { display: flex; flex-wrap: wrap; align-content: flex-start; min-height: 24px; gap: 5px 8px; margin: 0; padding: 0; list-style: none; }
.z-card__perks li { display: inline-flex; align-items: center; gap: 4px; min-width: 0; padding: 3px 5px; border-radius: 6px; background: #f5f7fa; color: var(--z-muted); font-size: 12px; line-height: 1.4; }
.z-card__perks svg { flex: none; color: var(--z-blue-strong); }
.z-card__perks span { overflow-wrap: anywhere; }
.z-buy__meta .z-product-badge { font-size: 12px; }
.z-sidecard, .z-sidecats li { min-width: 0; }
.z-sidecats a { overflow-wrap: anywhere; }
.z-category__head > div { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 959px) {
    .z-category .z-side { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-items: start; }
    .z-category .z-side > :only-child { grid-column: 1 / -1; }
    .z-category .z-sidecard { padding: 12px 14px; border-radius: var(--z-radius); }
    .z-category .z-filters > summary { display: flex; align-items: center; min-height: 40px; margin: 0; padding: 0 18px 0 0; border-bottom: 0; font-size: 14px; line-height: 1.35; }
    .z-category .z-filters > summary::before { position: absolute; top: 50%; right: 1px; float: none; margin-top: -6px; }
    .z-category .z-filters[open] > summary::before { margin-top: -2px; }
    .z-category .z-filters > summary::after { display: none; }
    .z-category .z-filters[open] > summary { margin-bottom: 10px; border-bottom: 1px solid var(--z-line-soft); }
    .z-category .z-categories > nav, .z-category .z-filters > .catalog-filters { max-height: 210px; overflow-y: auto; overscroll-behavior-y: contain; scrollbar-width: thin; }
    .z-category .z-filters .catalog-filters input, .z-category .z-filters .catalog-filters select { max-width: 100%; }
    .z-category .z-sidecats a { min-height: 44px; padding: 7px 9px; font-size: 12px; }
}
@media (max-width: 640px) {
    .z-card__price .z-product-badge { margin-left: 0; }
    .z-card__perks { min-height: 49px; gap: 4px; }
    .z-card__perks li { padding: 3px 4px; font-size: 11.5px; }
    .z-card__perks svg { width: 14px; height: 14px; }
}
.z-icon.z-whatsapp-mark { color: #25d366; fill: currentColor; }
.z-btn--whatsapp { border: 1px solid #25d366; background: #fff; color: var(--z-green-strong); }
.z-btn--whatsapp:hover { background: #eef8f1; }
/* ===== /cards ===== */

/* ===== integration-r6 ===== */
/* FLTP wraps its form; keep cards' compact mobile scrolling on that wrapper. */
@media (max-width: 959px) {
    .z-listing .z-filters__content { max-height: 210px; overflow-y: auto; overscroll-behavior-y: contain; scrollbar-width: thin; }
}
.z-pdp .z-stock:has(> .z-product-badge) { padding: 0; background: transparent; }
/* ===== /integration-r6 ===== */
/* ===== refl ===== */
.z-refs__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.z-refs__card { width: 100%; min-width: 0; padding: 18px; gap: 12px; border-radius: var(--z-radius); box-shadow: none; }
.z-refs__logo { height: 100px; border-radius: 8px; padding: 16px; background: #fff; border-bottom: 1px solid var(--z-line-soft); }
.z-refs__logo--mono { background: var(--z-navy-soft); }
.z-refs__name { font-size: 16px; overflow-wrap: anywhere; }
.z-refs__cell .z-refs__text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; font-size: 13px; line-height: 1.6; }
.z-refs__more { font-size: 12px; }
.z-ref--project { max-width: 1200px; }
.z-ref__cover { margin: 0 0 28px; position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--z-radius); background: var(--z-line-soft); }
.z-ref__cover img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; }
.z-ref--project .z-ref__head { grid-template-columns: 112px minmax(0, 1fr); padding: 24px 0 28px; gap: 28px; margin: 0; background: transparent; border: 0; box-shadow: none; border-radius: 0; }
.z-ref--project .z-ref__logo { width: 112px; height: 112px; padding: 18px; border-radius: var(--z-radius); }
.z-ref--project .z-ref__logo img { width: 100%; height: 100%; object-fit: contain; }
.z-ref--project .z-ref__title h1 { font-size: clamp(28px, 3vw, 42px); line-height: 1.15; overflow-wrap: anywhere; }
.z-ref__eyebrow { margin: 0 0 10px; color: var(--z-blue-strong); font-size: 12px; font-weight: 700; letter-spacing: .05em; }
.z-ref--project .z-ref__title .z-pagehead__kicker { margin-bottom: 8px; }
.z-ref--project .z-ref__lead { max-width: 72ch; font-size: 17px; }
.z-ref__content { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 28px; align-items: start; }
.z-ref__content:not(:has(.z-ref__facts)) { grid-template-columns: minmax(0, 860px); }
.z-ref__facts { padding: 24px; background: #fff; border: 1px solid var(--z-line); border-radius: var(--z-radius); }
.z-ref__facts h2 { margin: 0 0 20px; font-size: 17px; }
.z-ref__facts dl { margin: 0; }
.z-ref__facts dl div + div { padding-top: 16px; margin-top: 16px; border-top: 1px solid var(--z-line-soft); }
.z-ref__facts dt { color: var(--z-muted); font-size: 12px; margin-bottom: 4px; }
.z-ref__facts dd { margin: 0; color: var(--z-ink); font-weight: 600; overflow-wrap: anywhere; }
.z-ref--project .z-doc__card { min-width: 0; width: 100%; box-sizing: border-box; padding: 32px; border-radius: var(--z-radius); box-shadow: none; }
.z-ref__section-title { font-size: 23px; margin: 0 0 22px; }
.z-ref__cta { display: flex; justify-content: space-between; align-items: center; gap: 28px; padding: 30px; margin-top: 36px; border-radius: var(--z-radius); border: 1px solid var(--z-line); background: var(--z-navy-soft); }
.z-ref__cta h2 { margin: 0 0 8px; font-size: 25px; line-height: 1.25; color: var(--z-navy-strong); }
.z-ref__cta p:last-child { margin: 0; color: var(--z-muted); }
.z-ref__cta .z-btn { flex-shrink: 0; }
.z-ref--project .z-ref__related { margin-top: 40px; }
.z-ref__related .z-refs__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1100px) { .z-refs__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 800px) {
    .z-refs__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .z-ref__content { grid-template-columns: minmax(0, 1fr); }
    .z-ref__facts dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
    .z-ref__facts dl div + div { margin: 0; padding: 0; border: 0; }
}
@media (max-width: 540px) {
    .z-refs__grid, .z-ref__related .z-refs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .z-refs__card { padding: 14px; gap: 10px; }
    .z-refs__logo { height: 84px; padding: 10px; }
    .z-refs__name { font-size: 14px; line-height: 1.4; }
    .z-ref--project .z-ref__head { grid-template-columns: minmax(0, 1fr); align-items: start; padding: 20px 0 24px; gap: 16px; }
    .z-ref--project .z-ref__logo { width: 64px; height: 64px; padding: 10px; }
    .z-ref--project .z-ref__lead { font-size: 15px; }
    .z-ref__facts { padding: 20px; }
    .z-ref__facts dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .z-ref__facts dl div + div { padding-top: 0; border: 0; }
    .z-ref--project .z-doc__card { padding: 22px; }
    .z-ref__cta { flex-direction: column; align-items: stretch; padding: 22px; gap: 20px; }
    .z-ref__cta h2 { font-size: 23px; }
}
/* ===== /refl ===== */

/* ===== filters2 ===== */
.z-listing .z-side { position: static; max-height: none; overflow: visible; }
.z-listing .z-side.is-short { position: sticky; top: 24px; }
.z-listing .z-filters__content,
.z-listing .z-categories > nav,
.z-filterbox__body,
.z-listing:has(.z-listing__chips) .z-filterbox__body,
.z-category .z-filters > .catalog-filters { height: auto; max-height: none; overflow: visible; overscroll-behavior: auto; }
.z-listing .z-category__layout { grid-template-columns: 280px minmax(0, 1fr); grid-template-rows: max-content minmax(0, 1fr); }
.z-listing .z-side { grid-row: 1 / span 2; gap: 16px; }
.z-listing .z-listing__layout--full { grid-template-columns: minmax(0, 1fr); }
.z-listing .z-categories > nav { padding: 8px 12px 12px; }
.z-listing .z-sidecats a { padding: 10px; border: 0; border-radius: 6px; line-height: 1.4; overflow-wrap: anywhere; }
.z-listing .z-sidecats a:hover { background: var(--z-page); }
.z-listing .z-sidecats { gap: 2px; }
.z-filterbox__body { padding: 0 18px; }
.z-filterbox__group { padding-bottom: 14px; }
.z-filterbox__section { min-width: 0; }
.z-filterbox__section.is-animating { overflow: clip; }
.z-filterbox__group--search .z-filterbox__summary { font-size: 13px; color: var(--z-muted); }
.z-filterbox__group--price .z-filterbox__price-apply { display: none; }
.z-filterbox__group--price .z-filterbox__bucket { display: none; }
.z-filters .z-filterbox input[data-z-price] {
    display: block; box-sizing: border-box; width: 100%; min-width: 0; min-height: 44px; margin: 0; padding: 10px 28px 10px 10px;
    border: 1px solid var(--z-line-strong); border-radius: 8px; background: #fff; color: var(--z-ink); font: inherit; font-size: 13px; font-variant-numeric: tabular-nums;
}
.z-filters .z-filterbox .z-filterbox__check-text,
.z-filters .z-filterbox .z-filterbox__radio-text { line-height: 1.5; }
.z-filters .z-filterbox .z-filterbox__options > label[hidden], .z-sidecats > li[hidden], .z-filterbox__more[hidden], .z-filterbox__pending[hidden], .z-filterbox__no-options[hidden] { display: none; }
.z-filterbox__more { display: flex; align-items: center; gap: 8px; min-height: 44px; width: 100%; padding: 10px 6px; border: 0; background: transparent; color: var(--z-navy); font: inherit; font-size: 13px; font-weight: 600; text-align: left; cursor: pointer; }
.z-filterbox__more:hover { text-decoration: underline; text-underline-offset: 4px; }
.z-filterbox__more::after { content: '+'; margin-left: auto; font-size: 18px; font-weight: 400; }
.z-filterbox__more[aria-expanded="true"]::after { content: '−'; }
.z-filters .z-filterbox label.z-filterbox__option-search { display: block; margin: 0 0 10px; }
.z-filters .z-filterbox .z-filterbox__option-search input { padding: 10px 12px; font-size: 13px; }
.z-filterbox__no-options { margin: 10px 0; color: var(--z-muted); font-size: 13px; }
.z-filterbox__price-error { margin: 10px 0 0; color: var(--z-red); font-size: 13px; line-height: 1.5; }
.z-filterbox__price-error[hidden] { display: none; }
.z-filters .z-filterbox input[data-z-price][aria-invalid="true"] { border-color: var(--z-red); }
.z-filters .z-filterbox input[data-z-price]:focus-visible + .z-filterbox__currency { outline: none; }
.z-filterbox__pending { grid-column: 1 / -1; margin: 0; color: var(--z-muted); font-size: 12px; line-height: 1.4; }
.z-listing__chips { padding: 0 0 6px; }
.z-listing__chip { background: var(--z-navy-soft); border-color: transparent; }
.z-listing__chip:hover { border-color: var(--z-navy); }
.z-listing__filter-button { display: none; }
.z-filter-sheet { box-sizing: border-box; inset: 0; width: 100%; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; border-radius: 0; background: #fff; color: var(--z-text); overflow-x: hidden; overflow-y: auto; overscroll-behavior-y: contain; }
.z-filter-sheet::backdrop { background: rgba(23, 26, 34, .35); }
.z-filter-sheet__header { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 72px; padding: 12px 20px; border-bottom: 1px solid var(--z-line); background: #fff; }
.z-filter-sheet__header h2 { margin: 0; color: var(--z-ink); font-size: 22px; font-weight: 600; }
.z-filter-sheet__close { display: grid; place-items: center; flex: none; width: 44px; height: 44px; padding: 0; border: 1px solid var(--z-line); border-radius: 8px; background: #fff; color: var(--z-navy); font: 28px/1 var(--z-font); cursor: pointer; }
.z-filter-sheet .z-filters__content { max-height: none; overflow: visible; }
.z-body .z-filter-sheet .z-filterbox { display: flex; flex-direction: column; min-height: calc(100dvh - 73px); margin: 0; padding: 0; border: 0; background: #fff; }
.z-filter-sheet .z-filterbox__body { display: block; flex: 1; height: auto; max-height: none; padding: 0 20px 24px; overflow: visible; }
.z-filter-sheet .z-filterbox__summary { min-height: 56px; font-size: 15px; }
.z-filter-sheet .z-filterbox__actions { position: sticky; bottom: 0; z-index: 2; order: 2; margin-top: auto; padding: 16px 20px max(16px, env(safe-area-inset-bottom)); border-radius: 0; box-shadow: 0 -6px 18px rgba(22, 28, 64, .04); }
.z-filter-sheet .z-filterbox__actions .z-btn { min-height: 48px; }
.z-filter-sheet :is(button, input, summary, a):focus-visible,
.z-filterbox__more:focus-visible { outline: 2px solid var(--z-navy); outline-offset: 3px; }
html.z-filter-sheet-open { overflow: hidden; }
@media (max-width: 959px) {
    .z-listing .z-category__layout { gap: 16px; }
    .z-listing .z-side { display: block; position: static; width: 100%; }
    .z-listing .z-side.is-short { position: static; }
    .z-listing .z-side .z-categories { padding: 0; }
    .z-listing .z-categories > summary { min-height: 48px; padding: 12px 16px; margin: 0; }
    .z-listing .z-categories > summary::before { content: ''; right: 18px; }
    .z-listing .z-categories[open] > summary { margin-bottom: 0; }
    .z-listing .z-side.is-enhanced > [data-z-filters] { display: none; }
    .z-listing__filter-button:not([hidden]) { display: inline-flex; gap: 8px; justify-content: center; min-height: 44px; padding-inline: 12px; }
    .z-listing__toolbar { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; min-height: 0; padding-bottom: 16px; }
    .z-listing__results { grid-column: 1 / -1; order: 2; font-size: 13px; }
    .z-listing__sort { justify-content: flex-end; min-width: 0; }
    .z-listing__sort > label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .z-listing__sort .z-filterbox__select { width: 100%; }
    .z-listing__sort select { font-size: 13px; }
    .z-listing__chips { margin-bottom: 10px; }
    .z-listing__chip { min-height: 40px; padding: 8px 10px; font-size: 12px; }
    .z-filters .z-filterbox .z-filterbox__pricerow--wide { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
    .z-filterbox__summary-icon { transition: none; }
}
/* ===== /filters2 ===== */

/* ===== shellfix ===== */
.z-topbar__in { justify-content: space-between; flex-wrap: wrap; gap: 0 32px; }
.z-toplinks--primary { flex: none; }
.z-topbar__in > .z-toplinks:not(.z-toplinks--primary) { margin-left: auto; }
.z-footer .z-contact li, .z-footer .z-contact li > a { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: start; gap: 10px; line-height: 1.55; }
.z-footer .z-contact li > a { grid-column: 1 / -1; }
.z-footer .z-contact li > a::before { content: none; }
.z-footer .z-contact .z-icon { display: block; width: 18px; height: 18px; margin-top: 2px; }
.z-footer .z-contact address { margin: 0; line-height: inherit; }
/* ===== /shellfix ===== */

/* ===== contentfront ===== */
.z-blog .z-pagehead, .z-contentfront__page .z-pagehead { padding-block: 14px 28px; }
.z-blog .z-pagehead__lead { max-width: 56ch; }
.z-contentfront__toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; margin-bottom: 28px; padding-block: 18px; border-top: 1px solid var(--z-line); border-bottom: 1px solid var(--z-line); }
.z-contentfront__toolbar > p { margin: 0; color: var(--z-ink); font-size: 17px; font-weight: 650; overflow-wrap: anywhere; }
.z-contentfront__search { display: flex; gap: 8px; width: min(100%, 440px); margin: 0 0 0 auto; }
.z-contentfront__search input { flex: 1; min-width: 0; width: 100%; min-height: 46px; padding: 10px 14px; border: 1px solid var(--z-line-strong); border-radius: 10px; background: #fff; color: var(--z-ink); font: inherit; }
.z-contentfront__search input::placeholder { color: var(--z-muted); }
.z-contentfront__search input:focus-visible { outline: 3px solid #1b6fd1; outline-offset: 2px; }
.z-contentfront__search .z-btn { flex-shrink: 0; padding-inline: 18px; min-height: 46px; }
.z-contentfront__clear { color: var(--z-blue); text-underline-offset: .2em; font-size: 14px; }
.z-contentfront__featured-label { margin: 0; color: var(--z-blue); font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.z-blog .z-post-card, .z-article .z-post-card { border-radius: var(--z-radius); box-shadow: none; }
.z-blog .z-post-card--featured { border: 1px solid var(--z-line); margin-bottom: 32px; }
.z-blog .z-post-card--featured .z-post-card__media { flex-basis: 52%; min-height: 320px; }
.z-blog .z-post-card--featured .z-post-card__body { padding: 32px 40px; }
.z-post-card__ph { background: var(--z-navy-soft); }
.z-article { max-width: 1168px; }
.z-article__main { max-width: 920px; margin-inline: auto; }
.z-article__head { max-width: 840px; padding-block: 12px 30px; }
.z-article__head h1 { max-width: 34ch; font-size: clamp(28px, 3.2vw, 42px); line-height: 1.18; }
.z-contentfront__article-lead { max-width: 62ch; margin: 18px 0 0; color: var(--z-muted); font-size: 19px; line-height: 1.6; overflow-wrap: anywhere; }
.z-article__meta { gap: 8px 20px; font-size: 13px; }
.z-article__cover { width: 100%; max-width: none; border-radius: var(--z-radius); box-shadow: none; }
.z-article__cover img { aspect-ratio: 16 / 9; }
.z-article__card { width: 100%; max-width: none; padding: 40px 48px; border-radius: var(--z-radius); box-shadow: none; }
.z-contentfront__article--toc { display: grid; grid-template-columns: minmax(0, 760px) 260px; gap: 24px 32px; max-width: none; align-items: start; }
.z-contentfront__article--toc .z-article__head, .z-contentfront__article--toc .z-article__cover { grid-column: 1 / -1; margin-bottom: 0; }
.z-contentfront__article--toc > .z-toc--aside { grid-column: 2; grid-row: 2; }
.z-contentfront__article--toc.z-contentfront__article--cover > .z-toc--aside { grid-row: 3; }
.z-contentfront__article--toc .z-article__pager { grid-column: 1; width: 100%; margin-top: 0; }
.z-article__related { margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--z-line); }
.z-article__related > h2 { font-size: 23px; }
.z-contentfront__page { max-width: 1168px; }
.z-contentfront__page .z-doc__layout { grid-template-columns: minmax(0, 840px); }
.z-contentfront__page.z-doc--toc .z-doc__layout { grid-template-columns: minmax(0, 760px) 260px; gap: 32px; }
.z-contentfront__page .z-doc__card { min-width: 0; padding: 40px 48px; border-radius: var(--z-radius); box-shadow: none; }
.z-contentfront__page:not(.z-doc--toc) .z-doc__layout { justify-content: center; }
.z-contentfront__page:not(.z-doc--toc) > .z-pagehead { max-width: 840px; margin-inline: auto; }
.z-contentfront__updated { margin: 12px 0 0; color: var(--z-muted); font-size: 13px; }
.z-contentfront__print { margin-top: 14px; }
.z-contentfront__print[hidden] { display: none; }
.z-contentfront__cta { display: flex; justify-content: space-between; align-items: center; gap: 24px; max-width: 840px; margin: 28px auto 0; padding: 24px 28px; border: 1px solid var(--z-line); border-radius: var(--z-radius); background: var(--z-blue-soft); }
.z-contentfront__cta h2 { margin: 0 0 5px; color: var(--z-ink); font-size: 20px; line-height: 1.35; }
.z-contentfront__cta p { margin: 0; color: var(--z-muted); font-size: 14px; }
.z-contentfront__cta .z-btn { flex-shrink: 0; }
.z-contentfront__page.z-doc--toc .z-contentfront__cta { max-width: 760px; margin-left: 0; }
.z-contentfront__document-help { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-top: 36px; padding-top: 20px; border-top: 1px solid var(--z-line); font-size: 14px; }
.z-contentfront__document-help p { margin: 0; color: var(--z-muted); }
.z-contentfront__document-help a { display: inline-flex; gap: 8px; align-items: center; color: var(--z-blue); text-decoration: none; }
.z-contentfront__announcement .z-pagehead { border-bottom: 1px solid var(--z-line); margin-bottom: 28px; }
.z-contentfront__announcement .z-prose h2 { color: var(--z-navy); }
.z-contentfront__legal .z-prose { font-size: 16px; line-height: 1.85; }
.z-contentfront__legal .z-prose h2 { font-size: 22px; }
.z-contentfront__legal.z-legaldoc { max-width: 1168px; grid-template-columns: minmax(0, 840px); justify-content: center; align-items: start; gap: 32px; }
.z-contentfront__legal--toc.z-legaldoc { grid-template-columns: minmax(0, 760px) 260px; }
.z-contentfront__legal.z-legaldoc > .z-toc--inline { width: 100%; }
.z-contentfront__legal .z-legaldoc__card { width: 100%; padding: 40px 48px; border-radius: var(--z-radius); box-shadow: none; }
.z-contentfront__legal .z-legaldoc__head h1 { font-size: clamp(26px, 2.6vw, 36px); }
.z-doc__empty { max-width: 840px; width: 100%; margin-inline: auto; padding: 48px 28px; border-radius: var(--z-radius); box-shadow: none; }
.z-contentfront__missing .z-state__card { width: min(100%, 640px); padding: 40px 48px; border-radius: var(--z-radius); gap: 14px; }
.z-contentfront__404 { color: var(--z-navy); font-size: 76px; font-weight: 750; line-height: 1; letter-spacing: -.06em; }
.z-contentfront__missing .z-state__card .z-pagehead__kicker { font-size: 11px; margin: 0; }
.z-contentfront__missing .z-contentfront__search { width: 100%; margin: 12px 0 0; padding-top: 24px; border-top: 1px solid var(--z-line); }
.z-article .z-prose, .z-contentfront__page .z-prose, .z-contentfront__legal .z-prose { min-width: 0; overflow-wrap: anywhere; }
.z-prose pre { max-width: 100%; overflow-x: auto; padding: 16px; border: 1px solid var(--z-line); border-radius: 10px; background: var(--z-page); font-size: 14px; }
.z-prose iframe { max-width: 100%; }
.z-article .z-prose__scroll table, .z-contentfront__page .z-prose__scroll table, .z-contentfront__legal .z-prose__scroll table { min-width: 640px; width: 100%; table-layout: fixed; }
.z-toc--aside { max-height: calc(100vh - 48px); overflow-y: auto; scrollbar-width: thin; }
.z-toc a { overflow-wrap: anywhere; min-height: 36px; }
.z-toc--inline summary::after { content: '+'; margin-left: auto; font-size: 22px; font-weight: 400; }
.z-toc--inline[open] summary::after { content: '−'; }
.z-contentfront__post--no-cover .z-post-card__media { aspect-ratio: 3 / 1; }
.z-blog .z-contentfront__post--no-cover.z-post-card--featured { border-top: 3px solid var(--z-navy); }
.z-blog .z-contentfront__post--no-cover.z-post-card--featured .z-post-card__media { display: none; }
.z-blog .z-contentfront__post--no-cover.z-post-card--featured .z-post-card__body { max-width: 850px; padding: 32px 40px; }
@media (max-width: 1099px) {
    .z-contentfront__article--toc, .z-contentfront__page.z-doc--toc .z-doc__layout, .z-contentfront__legal--toc.z-legaldoc { grid-template-columns: minmax(0, 1fr); }
    .z-contentfront__article--toc > .z-toc--aside, .z-contentfront__page .z-toc--aside, .z-contentfront__legal .z-toc--aside { display: none; }
    .z-contentfront__article--toc > .z-toc--inline, .z-contentfront__legal > .z-toc--inline { display: block; grid-column: 1; }
    .z-contentfront__page.z-doc--toc .z-toc--inline { display: block; }
    .z-contentfront__page.z-doc--toc .z-contentfront__cta { max-width: none; }
    .z-contentfront__article--toc .z-article__head, .z-contentfront__article--toc .z-article__cover { grid-column: 1; }
    .z-blog .z-post-card--featured .z-post-card__body { padding: 28px; }
}
@media (max-width: 640px) {
    .z-blog .z-pagehead, .z-contentfront__page .z-pagehead { padding-block: 8px 22px; }
    .z-contentfront__toolbar { gap: 14px; margin-bottom: 22px; }
    .z-contentfront__toolbar > p { width: 100%; font-size: 15px; }
    .z-contentfront__toolbar .z-contentfront__search { margin-left: 0; width: 100%; }
    .z-blog .z-post-card--featured .z-post-card__media { flex-basis: auto; min-height: 0; }
    .z-blog .z-post-card--featured .z-post-card__body { padding: 22px; gap: 12px; }
    .z-blog .z-contentfront__post--no-cover.z-post-card--featured .z-post-card__body { padding: 22px; }
    .z-contentfront__article--toc { gap: 20px; }
    .z-contentfront__page.z-doc--toc .z-doc__layout { gap: 20px; }
    .z-contentfront__legal.z-legaldoc { gap: 20px; }
    .z-blog .z-post-card--featured .z-post-card__title { font-size: 25px; }
    .z-article__head { padding-block: 8px 22px; }
    .z-contentfront__article-lead { font-size: 17px; margin-top: 14px; }
    .z-article__meta { gap: 8px 14px; }
    .z-article__card, .z-contentfront__page .z-doc__card, .z-contentfront__legal .z-legaldoc__card { padding: 26px 22px; }
    .z-article__share { gap: 12px; }
    .z-article__share ul { gap: 8px; }
    .z-article__share li a { width: 40px; height: 40px; border-radius: 10px; }
    .z-contentfront__cta { flex-direction: column; align-items: stretch; gap: 18px; padding: 22px; }
    .z-contentfront__cta h2 { font-size: 19px; }
    .z-contentfront__missing { padding-block: 28px 8px; }
    .z-contentfront__missing .z-state__card { padding: 30px 22px; }
    .z-contentfront__404 { font-size: 64px; }
    .z-contentfront__legal .z-prose { font-size: 15.5px; line-height: 1.8; }
    .z-contentfront__page .z-prose h2, .z-contentfront__legal .z-prose h2 { font-size: 21px; }
}
@media print {
    html:has(.z-body), body.z-body { background: #fff; color: #000; }
    .z-body .z-header, .z-body .z-footer, .z-body .z-promises, .z-body .z-crumbs, .z-body .z-toc, .z-body .z-contentfront__print, .z-body .z-contentfront__document-help, .z-body .z-legaldoc__back, .z-body .z-contentfront__cta, .z-body .z-article__share, .z-body .z-article__pager, .z-body .z-article__related, .z-body [data-store-consent], .z-body .z-chat { display: none; }
    .z-contentfront__page.z-doc--toc .z-toc--inline, .z-contentfront__article--toc > .z-toc--inline, .z-contentfront__legal.z-legaldoc > .z-toc--inline { display: none; }
    .z-contentfront__legal, .z-contentfront__page, .z-article { display: block; max-width: none; padding: 0; }
    .z-contentfront__page.z-doc--toc .z-doc__layout, .z-contentfront__legal--toc.z-legaldoc, .z-contentfront__article--toc { display: block; }
    .z-contentfront__page .z-doc__card, .z-contentfront__legal .z-legaldoc__card, .z-article__card { max-width: none; border: 0; padding: 0; box-shadow: none; }
    .z-contentfront__legal .z-prose, .z-contentfront__page .z-prose, .z-article .z-prose { font-size: 11pt; line-height: 1.55; color: #000; }
    .z-prose__scroll { overflow: visible; border: 0; }
    .z-article .z-prose__scroll table, .z-contentfront__page .z-prose__scroll table, .z-contentfront__legal .z-prose__scroll table { min-width: 0; }
    .z-prose h2, .z-prose h3 { break-after: avoid; }
    .z-prose p, .z-prose li { orphans: 3; widows: 3; }
}
/* ===== /contentfront ===== */

/* ===== e2eui ===== */
/* AJAX replaces the cart root; the shared cart controller owns this hidden state. */
.z-cartqty__apply[hidden] { display: none; }
/* Keep the amount and currency together; long total labels can wrap instead. */
.z-cosum .z-summary__rows dt { min-width: 0; overflow-wrap: anywhere; }
.z-cosum .z-summary__rows dd { flex: 0 0 auto; white-space: nowrap; text-align: right; }
/* Checkout navigation also uses z-steps; keep the order timeline vertical on phones. */
@media (max-width: 639px) {
    .z-body .z-steps:has(> .z-step) { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
}
/* ===== /e2eui ===== */

/* ===== orderpages ===== */
.z-order-timeline { display: grid; grid-template-columns: repeat(auto-fit, minmax(115px, 1fr)); gap: 0; margin: 22px 0 0; padding: 22px 0 0; border-top: 1px solid var(--z-line-soft); list-style: none; }
.z-order-timeline__step { position: relative; display: grid; justify-items: center; align-content: start; gap: 10px; min-width: 0; padding: 0 8px; text-align: center; }
.z-order-timeline__step:not(:last-child)::after { position: absolute; top: 13px; right: calc(-50% + 22px); left: calc(50% + 22px); height: 2px; background: var(--z-line); content: ""; }
.z-order-timeline__step.is-done::after { background: var(--z-green); }
.z-order-timeline__dot { position: relative; z-index: 1; display: grid; place-items: center; width: 28px; height: 28px; border: 2px solid var(--z-line-strong); border-radius: 50%; background: #fff; color: #fff; }
.is-done > .z-order-timeline__dot { border-color: var(--z-green); background: var(--z-green); }
.is-current > .z-order-timeline__dot { border-color: var(--z-navy); box-shadow: 0 0 0 4px var(--z-navy-soft); }
.is-current > .z-order-timeline__dot::after { width: 10px; height: 10px; border-radius: 50%; background: var(--z-navy); content: ""; }
.z-order-timeline__step strong { display: block; color: var(--z-muted); font-size: 13.5px; line-height: 1.4; overflow-wrap: anywhere; }
.z-order-timeline__step:is(.is-done, .is-current) strong { color: var(--z-ink); }
.z-order-timeline__step small { display: block; margin-top: 4px; color: var(--z-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.z-track .z-order-timeline { margin-top: 0; padding-top: 0; border-top: 0; }
.z-order-help { display: flex; align-items: flex-start; gap: 10px; margin: 16px 0 0; padding: 14px 16px; border-radius: var(--z-radius); background: var(--z-page); color: var(--z-muted); font-size: 13.5px; line-height: 1.55; }
.z-order-help p { margin: 0; }
.z-order-help svg { flex: none; margin-top: 2px; color: var(--z-blue-strong); }
.z-order-help a { color: var(--z-navy); text-underline-offset: 3px; }
.z-order-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.z-order-actions form { margin: 0; }
.z-order-actions__hint { flex-basis: 100%; margin: 0; color: var(--z-muted); font-size: 13px; }
.z-order-progress { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 22px; padding: 22px 24px; border: 1px solid var(--z-line); border-radius: var(--z-radius); background: #fff; }
.z-order-progress__icon { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--z-cyan-soft); color: var(--z-blue-strong); }
.z-order-progress.is-paid .z-order-progress__icon { background: #e9f7ef; color: var(--z-green-strong); }
.z-order-progress h2 { margin: 0 0 5px; color: var(--z-ink); font-size: 20px; letter-spacing: -.3px; }
.z-order-progress p { margin: 0; color: var(--z-muted); font-size: 14px; }
.z-order-progress > div { min-width: 0; }
.z-order-print { display: none; }
.z-return-intro { margin: 0; }
.z-return__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0 0 20px; padding: 0; list-style: none; counter-reset: return-step; }
.z-return__steps li { display: flex; gap: 10px; align-items: center; color: var(--z-muted); font-size: 13px; counter-increment: return-step; }
.z-return__steps li::before { display: grid; flex: none; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--z-navy-soft); color: var(--z-navy); font-weight: 700; content: counter(return-step); }
.z-return-status { display: grid; gap: 16px; }
.z-return-status__head { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; align-items: center; }
.z-return-status__head h3 { margin: 0; font-size: 16px; }
.z-return-status__note { margin: 8px 0 0; color: var(--z-muted); font-size: 14px; }
.z-pick__text { min-width: 0; overflow-wrap: anywhere; }
.z-pick__quantity { display: block; margin-top: 6px; color: var(--z-muted); font-size: 13px; }
.z-order-totals dd, .z-track .z-summary__rows dd { overflow-wrap: anywhere; text-align: right; }
.z-track .z-summary__rows > div { min-width: 0; }
.z-order-reference { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; margin: 18px 0; padding: 14px 16px; border: 1px solid var(--z-line); border-radius: 10px; background: var(--z-page); }
.z-order-reference > div { display: grid; gap: 3px; min-width: 0; }
.z-order-reference span { color: var(--z-muted); font-size: 12px; }
.z-order-reference strong { color: var(--z-navy); font-size: 17px; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.z-order-reference .z-bank__copy span { color: inherit; }
.z-order-result__summary { width: 100%; padding: 16px; border: 1px solid var(--z-line); border-radius: 12px; text-align: left; }
.z-order-result__summary h2 { margin: 0 0 14px; color: var(--z-ink); font-size: 16px; }
.z-order-result__summary dl { display: grid; gap: 8px; margin: 0; }
.z-order-result__summary dl > div { display: flex; flex-wrap: wrap; gap: 6px 14px; justify-content: space-between; }
.z-order-result__summary dt { color: var(--z-muted); font-size: 14px; }
.z-order-result__summary dd { margin: 0; color: var(--z-ink); font-weight: 600; overflow-wrap: anywhere; }
.z-notify__reassurance { margin-bottom: 20px; }
.z-notify__aside .z-order-help { margin-bottom: 16px; }
@media (max-width: 600px) {
    .z-order-timeline { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .z-order-timeline__step { grid-template-columns: 28px minmax(0, 1fr); justify-items: start; gap: 12px; padding: 0 0 20px; text-align: left; }
    .z-order-timeline__step:last-child { padding-bottom: 0; }
    .z-order-timeline__step:not(:last-child)::after { top: 32px; right: auto; bottom: 4px; left: 13px; width: 2px; height: auto; }
    .z-order-progress { padding: 18px; }
    .z-order-progress h2 { font-size: 18px; }
    .z-return__steps { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .z-order-actions .z-btn, .z-order-actions form { flex: 1 1 auto; }
    .z-order-actions form .z-btn { width: 100%; }
    .z-track .z-transfer__ref { align-items: start; }
}
@media print {
    @page { margin: 15mm; }
    body.z-body { background: #fff; font-size: 11pt; }
    .z-header, .z-footer, .z-promises, .z-cookie, .z-chat, .z-acct__side, .z-acct__actions, .z-acct__back, .z-order-actions, .z-transfer, .z-order-help, .z-return-status, .z-notice, [data-z-print], [data-z-copy] { display: none !important; }
    .z-acct__layout, .z-infogrid { display: block; }
    .z-acct__main, .z-wrap { width: 100%; max-width: none; padding: 0; }
    .z-acct { padding-block: 0; }
    .z-panel { margin-bottom: 16px; border: 1px solid #ccc; box-shadow: none; break-inside: avoid; }
    .z-order-print { display: block; margin: 0 0 12px; color: #333; font-size: 10pt; }
    .z-order-timeline { display: none; }
    .z-infogrid a { color: #222; text-decoration: none; }
}
.z-notify-bank { border: 1px solid var(--z-line); border-radius: 10px; background: #fff; }
.z-notify-bank summary { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 12px; color: var(--z-navy); cursor: pointer; list-style: none; }
.z-notify-bank summary::-webkit-details-marker { display: none; }
.z-notify-bank summary strong { flex: 1; min-width: 0; font-size: 13px; overflow-wrap: anywhere; }
.z-notify-bank summary span { color: var(--z-muted); font-size: 12px; }
.z-notify-bank summary svg:last-child { transition: transform .15s ease; }
.z-notify-bank[open] summary svg:last-child { transform: rotate(90deg); }
.z-notify-bank > .z-bank { margin: 0; padding-top: 0; border: 0; }
.z-notify-bank > .z-bank .z-bank__head { display: none; }
@media (prefers-reduced-motion: reduce) { .z-notify-bank summary svg:last-child { transition: none; } }
.z-osum__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.z-osum__grid > div:first-child { grid-column: auto; }
.z-return__steps { margin-bottom: 0; }
.z-coresult .z-state__card { gap: 18px; }
.z-ship__code .z-bank__copy { margin: 8px 0 0 6px; vertical-align: middle; }
.z-totals > div, .z-osum__grid > div { min-width: 0; }
.z-totals dd { min-width: 0; overflow-wrap: anywhere; text-align: right; }
.z-lines .z-line__main { overflow-wrap: anywhere; }
.z-pick:has(input:focus-visible) { outline: 3px solid #1b6fd1; outline-offset: 3px; }
@media (max-width: 600px) {
    .z-osum__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .z-osum__grid > div:last-child { grid-column: 1 / -1; }
    .z-return .z-form__actions .z-btn { width: 100%; }
    .z-coresult { padding-block: 28px; }
    .z-coresult .z-state__card { padding: 24px 20px; }
}
@media (max-width: 600px) {
    .z-acct .z-line, .z-track .z-line { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; }
    .z-acct .z-line__main, .z-track .z-line__main { grid-column: 1 / -1; grid-row: 1; }
    .z-acct .z-line__qty, .z-track .z-line__qty { grid-column: 1; grid-row: 2; }
    .z-acct .z-line__amount, .z-track .z-line__amount { grid-column: 2; grid-row: 2; }
}
/* ===== /orderpages ===== */

/* ===== qastore ===== */
/* Keep help links on the same left edge as the logo; utility links stay right. */
.z-topbar__in { justify-content: space-between; gap: 24px; }
.z-toplinks--left { flex: none; }
/* Contact rows already have their own icons; only navigation lists need chevrons. */
.z-footer__col.z-contact li > a::before { content: none; }
.z-contact li > a { align-items: flex-start; }
.z-contact li > a .z-icon { margin-top: 2px; }
/* Filters use the page scroll at every width, including the mobile disclosure. */
.z-listing .z-side { position: static; }
.z-listing .z-filters__content,
.z-listing .z-filterbox__body,
.z-listing:has(.z-listing__chips) .z-filterbox__body,
.z-category .z-categories > nav,
.z-category .z-filters > .catalog-filters { max-height: none; overflow: visible; }
@media (max-width: 640px) {
    /* An expanded panel needs a full row so labels and price inputs stay readable. */
    .z-category .z-side:has(> .z-filters[open]) { grid-template-columns: minmax(0, 1fr); }
    .z-touch__value[href^="mailto:"] { font-size: 15px; }
}
/* ===== /qastore ===== */

/* ===== rev ===== */
.z-reviews { width: calc(100% - 48px); max-width: calc(var(--z-wrap) - 48px); margin-block: 36px; padding: 28px 32px; background: #fff; border: 1px solid var(--z-line); border-radius: var(--z-radius); scroll-margin-top: 24px; }
.z-reviews__head { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-bottom: 24px; }
.z-reviews__head h2 { margin: 0 0 6px; font-size: 25px; letter-spacing: -.4px; }
.z-reviews__head p, .z-reviews__write-intro p { margin: 0; color: var(--z-muted); max-width: 64ch; font-size: 14px; }
.z-reviews__layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 36px; border-top: 1px solid var(--z-line); padding-top: 24px; }
.z-reviews__summary { align-self: start; background: var(--z-page); border-radius: 10px; padding: 24px; }
.z-reviews__average { display: flex; align-items: baseline; gap: 9px; margin: 0; color: var(--z-muted); }
.z-reviews__average strong { font-size: 46px; line-height: 1.1; letter-spacing: -2px; color: var(--z-ink); font-weight: 700; }
.z-reviews__stars { color: #a26808; letter-spacing: 2px; font-size: 19px; margin: 10px 0; line-height: 1.2; }
.z-reviews__count { font-size: 13px; color: var(--z-muted); margin: 0 0 20px; }
.z-reviews__distribution { display: grid; gap: 10px; }
.z-reviews__bucket { display: grid; grid-template-columns: 30px minmax(0, 1fr) 22px; gap: 10px; align-items: center; text-decoration: none; color: var(--z-muted); font-size: 13px; }
.z-reviews__bucket > span:last-child { text-align: right; font-variant-numeric: tabular-nums; }
.z-reviews__bucket progress { appearance: none; border: 0; width: 100%; height: 7px; background: var(--z-line); border-radius: 8px; overflow: hidden; }
.z-reviews__bucket progress::-webkit-progress-bar { background: var(--z-line); border-radius: 8px; }
.z-reviews__bucket progress::-webkit-progress-value { background: var(--z-navy); border-radius: 8px; }
.z-reviews__bucket progress::-moz-progress-bar { background: var(--z-navy); border-radius: 8px; }
.z-reviews__privacy { margin: 22px 0 0; padding-top: 18px; border-top: 1px solid var(--z-line); font-size: 12px; color: var(--z-muted); line-height: 1.6; }
.z-reviews__content { min-width: 0; }
.z-reviews__filters { display: flex; align-items: end; gap: 12px; padding-bottom: 20px; border-bottom: 1px solid var(--z-line); }
.z-reviews__filters label, .z-reviews__form label, .z-reviews__rating legend { display: block; margin-bottom: 7px; color: var(--z-text); font-size: 13px; font-weight: 600; }
.z-reviews__filters select, .z-reviews__form input:not([type=radio]), .z-reviews__form textarea { box-sizing: border-box; width: 100%; border: 1px solid var(--z-line-strong); border-radius: 7px; padding: 10px 12px; background: #fff; color: var(--z-ink); font: inherit; min-height: 44px; }
.z-reviews__filters select { min-width: 140px; padding-right: 30px; font-size: 14px; }
.z-reviews__form textarea { resize: vertical; }
.z-reviews__list { padding: 0; margin: 0; list-style: none; }
.z-review { padding: 24px 0; overflow-wrap: anywhere; }
.z-reviews__list > li + li { border-top: 1px solid var(--z-line); }
.z-review__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.z-review__head > div { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.z-review__author { font-size: 14px; font-weight: 600; color: var(--z-ink); }
.z-review__verified { color: var(--z-green-strong); font-size: 12px; background: #edf7f0; border-radius: 5px; padding: 3px 7px; }
.z-review__head time { color: var(--z-muted); font-size: 12px; white-space: nowrap; }
.z-review h3 { font-size: 16px; margin: 14px 0 8px; line-height: 1.5; }
.z-review__body { white-space: pre-wrap; color: var(--z-text); font-size: 14px; line-height: 1.75; margin: 0 0 16px; max-width: 82ch; overflow-wrap: anywhere; }
.z-review__excerpt { color: var(--z-text); font-size: 14px; line-height: 1.75; margin: 0 0 10px; }
.z-review__long:has(details[open]) .z-review__excerpt { display: none; }
.z-review__long summary { color: var(--z-navy); font-size: 13px; cursor: pointer; margin-bottom: 16px; }
.z-review__images { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 16px 0; list-style: none; }
.z-review__images img { width: 88px; height: 88px; object-fit: cover; border: 1px solid var(--z-line); border-radius: 7px; }
.z-review__reply { background: var(--z-page); border-left: 3px solid var(--z-line-strong); padding: 14px 18px; border-radius: 0 7px 7px 0; margin: 16px 0; font-size: 13px; }
.z-review__reply strong { color: var(--z-navy); font-weight: 600; }
.z-review__reply p { white-space: pre-wrap; margin: 6px 0 0; line-height: 1.7; }
.z-review__vote .z-btn { min-height: 36px; font-size: 12px; padding: 6px 10px; }
.z-review__vote span { color: var(--z-muted); }
.z-reviews__empty { text-align: center; padding: 28px 24px 36px; }
.z-reviews__empty-star { display: inline-grid; place-items: center; background: var(--z-navy-soft); color: var(--z-navy); width: 56px; height: 56px; border-radius: 12px; font-size: 34px; }
.z-reviews__empty h3, .z-reviews__empty h2 { margin: 16px 0 8px; font-size: 20px; letter-spacing: -.3px; }
.z-reviews__empty p { margin: 0 auto 20px; max-width: 47ch; color: var(--z-muted); font-size: 14px; }
.z-reviews__write { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 36px; margin-top: 28px; border-top: 1px solid var(--z-line); padding-top: 28px; scroll-margin-top: 24px; }
.z-reviews__write-intro h3 { margin: 0 0 10px; font-size: 19px; }
.z-reviews__write-intro p + p { margin-top: 14px; }
.z-reviews__write > div:last-child { min-width: 0; }
.z-reviews__write > div:last-child > p { font-size: 14px; margin-top: 0; }
.z-reviews__form { display: grid; gap: 18px; max-width: 760px; }
.z-reviews__form > .z-btn { justify-self: start; }
.z-reviews__form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.z-reviews__rating { border: 0; padding: 0; margin: 0; min-width: 0; }
.z-reviews__rating > div { display: flex; gap: 8px; }
.z-reviews__rating label { display: flex; align-items: center; justify-content: center; gap: 5px; border: 1px solid var(--z-line-strong); border-radius: 7px; width: 52px; height: 44px; margin: 0; cursor: pointer; background: #fff; }
.z-reviews__rating label > span:first-child { color: #a26808; font-size: 20px; }
.z-reviews__rating input:checked + label { border-color: var(--z-navy); background: var(--z-navy-soft); color: var(--z-navy); }
.z-reviews__rating input:focus-visible + label, .z-reviews :is(a,button,input,textarea,select,summary):focus-visible { outline: 3px solid var(--z-cyan); outline-offset: 3px; }
.z-reviews__hint { font-size: 12px; color: var(--z-muted); margin: 8px 0 0; }
.z-reviews__notice { padding: 12px 16px; border: 1px solid #cce5d4; background: #f0f8f2; color: var(--z-green-strong); font-size: 14px; border-radius: 7px; }
.z-reviews__error { padding: 12px 16px; border: 1px solid #f0c6c1; background: #fff3f1; color: #9a2818; font-size: 14px; border-radius: 7px; margin-bottom: 16px; }
.z-reviews__pages { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-top: 20px; font-size: 13px; color: var(--z-muted); }
.z-reviews__account-list { display: grid; gap: 16px; }
.z-reviews__account-list .z-review { padding: 22px 24px; }
.z-reviews__product-name { font-size: 18px; line-height: 1.5; margin: 18px 0 10px; }
.z-reviews__product-name a { text-decoration: none; color: var(--z-ink); }
.z-reviews__state { border-radius: 5px; padding: 4px 8px; background: var(--z-page); color: var(--z-muted); font-size: 12px; }
.z-reviews__state--published { background: #edf7f0; color: var(--z-green-strong); }
.z-reviews__state--pending { background: #fff4df; color: #80520c; }
.z-rev-card-rating { display: flex; align-items: center; gap: 6px; margin: 0 0 12px; font-size: 12px; color: var(--z-muted); }
.z-rev-card-rating > span:first-child { color: #a26808; }
.z-rev-card-rating strong { font-weight: 600; color: var(--z-text); }
@media (max-width: 900px) {
    .z-reviews__layout, .z-reviews__write { grid-template-columns: 220px minmax(0, 1fr); gap: 24px; }
    .z-reviews__filters { flex-wrap: wrap; }
}
@media (max-width: 600px) {
    .z-reviews { width: calc(100% - 32px); padding: 22px 18px; margin-block: 24px; }
    .z-reviews__head { align-items: start; flex-direction: column; gap: 12px; padding-bottom: 18px; }
    .z-reviews__head h2 { font-size: 22px; }
    .z-reviews__head p { font-size: 13px; }
    .z-reviews__layout, .z-reviews__write { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .z-reviews__summary { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 8px 18px; padding: 18px; }
    .z-reviews__summary .z-reviews__average { grid-column: 1; gap: 5px; }
    .z-reviews__summary .z-reviews__stars { grid-column: 1; font-size: 16px; letter-spacing: 0; margin: 2px 0; }
    .z-reviews__summary .z-reviews__count { grid-column: 1; margin: 0; font-size: 12px; }
    .z-reviews__summary .z-reviews__distribution { grid-column: 2; grid-row: 1 / 4; gap: 8px; }
    .z-reviews__summary .z-reviews__bucket { grid-template-columns: 24px minmax(0, 1fr) 14px; gap: 6px; font-size: 12px; }
    .z-reviews__summary .z-reviews__privacy { grid-column: 1 / -1; padding-top: 12px; margin-top: 10px; }
    .z-reviews__average strong { font-size: 40px; }
    .z-reviews__filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .z-reviews__filters select { min-width: 0; font-size: 13px; padding-left: 9px; }
    .z-reviews__filters .z-btn { justify-self: start; }
    .z-review__head { align-items: start; }
    .z-review__head > div { gap: 5px; }
    .z-reviews__empty { padding: 14px 0 22px; }
    .z-reviews__empty h3 { font-size: 19px; }
    .z-reviews__form-row { grid-template-columns: minmax(0, 1fr); }
    .z-reviews__rating > div { gap: 6px; }
    .z-reviews__rating label { width: 48px; }
    .z-reviews__account-list .z-review { padding: 20px 18px; }
}
/* ===== /rev ===== */

/* ===== search ===== */
.z-search-panel[hidden], .z-search-close[hidden], .z-search-caption[hidden], .z-search-clear[hidden] { display: none; }
.z-search-panel { position: absolute; top: calc(100% + 10px); left: 0; right: 0; z-index: 80; display: flex; flex-direction: column; padding: 10px 12px 8px; border: 1px solid var(--z-line); border-radius: 14px; background: #fff; box-shadow: 0 18px 48px rgba(20, 30, 58, .16); max-height: min(680px, calc(100svh - 140px)); min-height: 220px; overflow: hidden; }
.z-search-options { display: grid; gap: 2px; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.z-search-footer { flex-shrink: 0; background: #fff; }
.z-search-group { padding: 16px 10px 8px; color: var(--z-muted); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.z-search-group:first-child { padding-top: 6px; }
.z-search-product { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 14px; align-items: center; min-height: 76px; padding: 10px; border-radius: 10px; color: var(--z-ink); text-decoration: none; }
.z-search-thumb { display: grid; place-items: center; width: 56px; height: 56px; padding: 4px; border: 1px solid var(--z-line-soft); border-radius: 9px; background: #fff; color: var(--z-muted); }
.z-search-thumb img { width: 100%; height: 100%; object-fit: contain; }
.z-search-product__copy { display: grid; gap: 3px; min-width: 0; }
.z-search-product__title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; font-size: 14px; font-weight: 600; line-height: 1.45; }
.z-search-product__title mark { background: var(--z-navy-soft); color: var(--z-navy); }
.z-search-product__price { color: var(--z-navy); font-size: 14px; font-weight: 700; overflow-wrap: anywhere; }
.z-search-product__stock { color: var(--z-muted); font-size: 12px; }
.z-search-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 40px; padding: 8px 10px; border-radius: 8px; color: var(--z-text); font-size: 14px; text-decoration: none; }
.z-search-link > span:first-child { overflow-wrap: anywhere; min-width: 0; }
.z-search-link__arrow { color: var(--z-muted); flex-shrink: 0; }
.z-search-link--popular { color: var(--z-navy); }
.z-search-product:hover, .z-search-link:hover, .z-search-product[aria-selected="true"], .z-search-link[aria-selected="true"] { background: var(--z-navy-soft); }
.z-search-more { display: flex; justify-content: center; align-items: center; min-height: 46px; margin: 8px 0 0; border-top: 1px solid var(--z-line); color: var(--z-navy); font-size: 14px; font-weight: 600; text-decoration: none; }
.z-search-more:hover, .z-search-more[aria-selected="true"] { background: var(--z-navy-soft); border-radius: 8px; }
.z-search-message { margin: 10px; padding: 18px; border: 1px solid var(--z-line); border-radius: 10px; background: var(--z-page); color: var(--z-muted); font-size: 14px; line-height: 1.6; }
.z-search-panel.has-search-message { min-height: 150px; }
.z-search .z-search-close { display: none; }
.z-search-caption { position: absolute; top: calc(100% + 10px); left: 0; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.z-search .z-search-clear { position: absolute; top: 8px; right: 16px; width: auto; height: 28px; padding: 0 6px; border: 0; border-radius: 4px; background: transparent; color: var(--z-muted); font: inherit; font-size: 12px; }
.z-search .z-search-clear:hover { color: var(--z-navy); text-decoration: underline; background: transparent; }
.z-search-panel a:focus-visible, .z-search button:focus-visible, .z-search-empty a:focus-visible, .z-search-empty input:focus-visible { outline: 3px solid var(--z-blue); outline-offset: 3px; }
.z-search-results__intro { margin: 10px 0 0; color: var(--z-muted); font-size: 14px; }
.z-search-results .z-category__head h1 { overflow-wrap: anywhere; }
.z-listing .z-search-empty { padding: 32px 24px 24px; border-style: solid; }
.z-search-empty > .z-listing__empty-icon { padding: 12px; box-sizing: content-box; border-radius: 50%; background: var(--z-page); color: var(--z-navy); margin-bottom: 18px; }
.z-listing .z-search-empty > p { max-width: 480px; margin: 0 auto 12px; font-size: 14px; line-height: 1.65; }
.z-search-empty__form { display: flex; gap: 10px; width: 100%; max-width: 530px; margin: 16px auto 14px; }
.z-search-empty__form input { min-width: 0; flex: 1; min-height: 46px; padding: 10px 14px; border: 1px solid var(--z-line-strong); border-radius: 9px; color: var(--z-ink); background: #fff; font: inherit; font-size: 14px; }
.z-search-empty__form button { flex-shrink: 0; }
.z-search-empty__reset { display: inline-block; margin-bottom: 16px; color: var(--z-navy); font-size: 13px; }
.z-search-empty__discovery { width: 100%; margin: 28px 0 24px; padding-top: 24px; border-top: 1px solid var(--z-line-soft); text-align: left; }
.z-search-empty__discovery h3 { margin: 0 0 14px; color: var(--z-muted); font-size: 13px; font-weight: 600; }
.z-search-empty__categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.z-search-empty__categories a { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 12px 14px; border: 1px solid var(--z-line); border-radius: 9px; color: var(--z-navy); font-size: 14px; text-decoration: none; }
.z-search-empty__categories a:hover { border-color: var(--z-navy); background: var(--z-navy-soft); }
.z-search-empty__categories span { min-width: 0; overflow-wrap: anywhere; }
.z-search-empty__categories svg { flex-shrink: 0; }
.z-search-empty__correction a { color: var(--z-navy); font-weight: 600; }
@media (max-width: 959px) {
  body.z-search-open { overflow: hidden; }
  .z-search.is-search-open { position: fixed; inset: 0; z-index: 150; display: block; width: 100%; max-width: none; height: 100svh; padding: 70px 16px 0; margin: 0; background: #fff; }
  .z-search.is-search-open input { width: 100%; height: 50px; padding-right: 52px; border-color: var(--z-line-strong); }
  .z-search.is-search-open > button[type="submit"] { top: 75px; right: 21px; }
  .z-search.is-search-open .z-search-close { position: absolute; top: 16px; right: 16px; display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--z-line); border-radius: 9px; background: #fff; color: var(--z-ink); font-size: 26px; }
  .z-search.is-search-open .z-search-caption { position: absolute; top: 26px; left: 20px; width: calc(100% - 84px); height: auto; clip-path: none; color: var(--z-ink); font-size: 14px; font-weight: 600; }
  .z-search-panel { position: absolute; top: 140px; bottom: 0; left: 8px; right: 8px; max-height: none; padding: 4px 8px calc(24px + env(safe-area-inset-bottom)); border: 0; border-radius: 0; box-shadow: none; }
  .z-search .z-search-clear { top: 2px; right: 8px; }
  .z-search-options { flex: 1; align-content: start; }
  .z-search-product { min-height: 82px; }
  .z-search-link { min-height: 44px; }
  .z-listing .z-search-empty { padding: 24px 18px; }
  .z-search-empty__form { flex-direction: column; }
  .z-search-empty__categories { grid-template-columns: minmax(0, 1fr); }
}
/* ===== /search ===== */

/* ===== wish ===== */
.z-wish__lead { margin: 6px 0 0; color: var(--z-muted); max-width: 680px; }
.z-wish { min-width: 0; }
.z-wish__layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 24px; align-items: start; }
.z-wish--shared .z-wish__layout { grid-template-columns: minmax(0, 1fr); }
.z-wish__side { padding: 18px 14px; border: 1px solid var(--z-line); border-radius: var(--z-radius); background: #fff; min-width: 0; }
.z-wish .z-wish__side > summary { display: flex; align-items: center; margin: 0 6px; font-size: 15px; color: var(--z-ink); }
.z-wish__side[open] > summary { margin-bottom: 14px; }
.z-wish__side > summary > span { margin-left: auto; font-size: 12px; color: var(--z-muted); font-weight: 400; }
.z-acct .z-wish__layout { grid-template-columns: minmax(0, 1fr); }
.z-acct .z-wish__nav { grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); }
.z-wish__nav { display: grid; gap: 5px; }
.z-wish__nav a { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 12px; border-radius: 8px; color: var(--z-text); text-decoration: none; font-size: 14px; min-width: 0; }
.z-wish__nav a > span:first-child { overflow-wrap: anywhere; }
.z-wish__nav a:hover { background: var(--z-page); }
.z-wish__nav a[aria-current] { background: var(--z-navy-soft); color: var(--z-navy-strong); font-weight: 600; }
.z-wish__count { flex: none; font-size: 12px; font-variant-numeric: tabular-nums; }
.z-wish__create { margin-top: 12px; padding: 14px 6px 0; border-top: 1px solid var(--z-line); }
.z-wish summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; gap: 8px; color: var(--z-navy); font-size: 14px; font-weight: 600; list-style: none; }
.z-wish summary::-webkit-details-marker { display: none; }
.z-wish summary::before { content: '+'; font-size: 18px; font-weight: 400; }
.z-wish details[open] > summary::before { content: '−'; }
.z-wish form { margin: 0; }
.z-wish input:not([type=hidden]), .z-wish textarea, .z-wish select { display: block; width: 100%; min-width: 0; margin: 0; padding: 10px 12px; border: 1px solid var(--z-line-strong); border-radius: 8px; background: #fff; color: var(--z-ink); font: inherit; font-size: 14px; box-sizing: border-box; }
.z-wish input:not([type=hidden]), .z-wish select { min-height: 44px; }
.z-wish textarea { resize: vertical; }
.z-wish label { display: block; margin-bottom: 5px; font-size: 13px; color: var(--z-text); font-weight: 600; }
.z-wish__create form, .z-wish__edit form { display: grid; gap: 10px; padding-bottom: 6px; }
.z-wish__main { min-width: 0; }
.z-wish__head { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.z-wish__head > div { min-width: 0; }
.z-wish__head h2 { margin: 0; font-size: 23px; letter-spacing: -.025em; overflow-wrap: anywhere; text-wrap: wrap; }
.z-wish__head p { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; margin: 6px 0 0; color: var(--z-muted); font-size: 13px; }
.z-wish__head > form { flex: none; }
.z-wish__visibility { padding-left: 12px; border-left: 1px solid var(--z-line-strong); }
.z-wish__settings { margin-bottom: 20px; border-bottom: 1px solid var(--z-line); }
.z-wish__settingsbody { display: grid; gap: 20px; padding: 6px 0 20px; }
.z-wish__rename { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 10px; max-width: 600px; align-items: end; }
.z-wish__rename label { grid-column: 1 / -1; }
.z-wish__sharing > p { max-width: 640px; margin: 0 0 12px; color: var(--z-muted); font-size: 13px; }
.z-wish__buttons { display: flex; gap: 10px; flex-wrap: wrap; }
.z-wish__delete { border: 0; padding: 8px 0; min-height: 44px; background: transparent; color: #a1281c; text-decoration: underline; text-underline-offset: 3px; font: inherit; font-size: 13px; cursor: pointer; }
.z-wish__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 18px; }
.z-wish__card { min-width: 0; max-width: 440px; }
.z-wish__card .z-card__media { aspect-ratio: 4 / 3; }
.z-wish__card .z-card__body { padding: 16px; }
.z-wish__card .z-card__title { min-height: 66px; -webkit-line-clamp: 3; line-clamp: 3; }
.z-wish__card .z-card__title a { color: var(--z-ink); text-decoration: none; overflow-wrap: anywhere; }
.z-wish__card .z-card__title a:hover { color: var(--z-blue); }
.z-wish__card .z-card__price { margin-top: 12px; }
.z-wish__card .z-card__now { font-size: 21px; overflow-wrap: anywhere; }
.z-wish__card .z-card__actions { margin-top: auto; padding-top: 16px; }
.z-wish__card .z-card__actions form, .z-wish__card .z-card__actions .z-btn { width: 100%; }
.z-wish__edit { margin-top: 12px; border-top: 1px solid var(--z-line); }
.z-wish__edit small { color: var(--z-muted); font-size: 12px; }
.z-wish__note { padding: 10px 12px; margin: 12px 0 0; border-radius: 8px; background: var(--z-page); color: var(--z-muted); font-size: 13px; white-space: pre-wrap; overflow-wrap: anywhere; }
.z-wish__markers { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.z-wish__markers span { padding: 4px 8px; border-radius: 5px; color: #116a35; background: #edf8f1; font-size: 12px; font-weight: 600; }
.z-wish__empty { min-height: 300px; padding: 44px 24px; }
.z-wish__empty .z-wishlist__emptyicon { margin-inline: auto; }
.z-wish__empty h2 { font-size: 19px; }
.z-wish__empty p { max-width: 440px; margin-inline: auto; }
.z-wish__empty .z-btn { margin-top: 12px; }
.z-wish__notice { padding: 12px 16px; margin: 0 0 18px; border: 1px solid #b8d9c5; border-radius: 10px; background: #edf8f1; color: #116a35; font-size: 14px; }
.z-wish__notice--error { background: #fff2f0; color: #a1281c; border-color: #eac6c0; }
.z-wish__footnote { color: var(--z-muted); font-size: 12px; margin: 18px 0 0; }
.z-wish__sharelink { padding: 18px; margin: 0 0 22px; background: #fff; border: 1px solid var(--z-line); border-radius: var(--z-radius); }
.z-wish__sharelink > div { display: flex; gap: 10px; }
.z-wish__sharelink .z-btn { flex: none; }
.z-wish__sharelink > a { display: inline-block; padding: 8px 0; color: var(--z-blue-strong); font-size: 13px; }
.z-wish__sharelink > p { color: var(--z-green-strong); font-size: 13px; margin: 0; }
.z-wish__signin { font-size: 13px; color: var(--z-blue-strong); display: block; margin-top: 14px; }
.z-heart.is-on svg { fill: currentColor; }
@media (max-width: 720px) {
    .z-wish__layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .z-wish__side { padding: 12px; }
    .z-wish__nav, .z-acct .z-wish__nav { grid-template-columns: minmax(0, 1fr); }
    .z-wish__nav a { padding: 10px; }
    .z-wish__create { padding-top: 6px; }
    .z-wish__head { flex-direction: column; align-items: stretch; gap: 14px; }
    .z-wish__head h2 { font-size: 21px; }
    .z-wish__head .z-btn { width: 100%; }
    .z-wish__grid { grid-template-columns: minmax(0, 1fr); }
    .z-wish__card { max-width: none; }
    .z-wish__card .z-card__media { aspect-ratio: 16 / 10; }
    .z-wish__rename { grid-template-columns: minmax(0, 1fr); }
    .z-wish__sharelink > div { flex-direction: column; }
    .z-wish__buttons form, .z-wish__buttons .z-btn { width: 100%; }
}
/* ===== /wish ===== */
/* ===== perf ===== */
/* Keep the no-script slider track inside the same ratio box used after initialization.
   Absolute positioning prevents intrinsic media height from sizing the flex track. */
.z-wrap.hero-slider .hero-slider__track { position: absolute; inset: 0; }
/* Keep the original rounded background, while only the viewport rounds the image clip. */
.z-wrap.hero-slider.is-ready .hero-slider__track { overflow: hidden; border-radius: 0; background: transparent; }
.z-wrap.hero-slider.is-ready .hero-slider__track::before {
    content: ""; position: absolute; inset: 0; border-radius: var(--z-radius); background: #0b1233; pointer-events: none;
}
@media (max-width: 640px) {
    .z-wrap.hero-slider.is-ready .hero-slider__track::before { border-radius: 10px; }
}
/* ===== /perf ===== */

/* ===== a11y ===== */
:root {
    --z-blue: #006ca1;
    --z-red: #c6321b;
    --z-control-border: #858b98;
}
.z-search-host { display: contents; }
.z-mainbar .z-search { min-width: 280px; }
.z-credit { color: var(--z-muted); }
.z-pdp .z-stock:has(.z-product-badge) { padding: 0; background: transparent; }
.z-body [data-a11y-error-summary]:focus { outline: 3px solid var(--z-navy); outline-offset: 3px; }
.z-body :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible,
.z-body .z-field__control :is(input, select, textarea):focus-visible,
.z-body .z-search input:focus-visible,
.z-body .z-pdp__stepper input:focus-visible {
    outline: 3px solid var(--z-navy);
    outline-offset: 3px;
}
.z-body .z-cartqty__control :is(input, button):focus-visible { outline: 3px solid var(--z-navy); outline-offset: -3px; }
.z-body .z-hero :is(a, button):focus-visible { outline-color: #fff; outline-offset: -3px; box-shadow: inset 0 0 0 6px var(--z-navy); }
.z-body :focus { scroll-margin-top: 160px; scroll-margin-bottom: 100px; }
.z-body :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select, textarea),
.z-pdp__stepper, .z-cartqty__control { border-color: var(--z-control-border); }
.z-footer__col li > a { min-height: 32px; }
.z-contact li > a { display: flex; align-items: center; }
.z-legal a { display: inline-flex; align-items: center; min-height: 24px; }
.z-etbis--image { min-width: 44px; min-height: 44px; }
@media (min-width: 960px) {
    .z-mainbar { container-type: inline-size; }
    @container (max-width: 950px) {
        .z-mainbar .z-logo { grid-column: 1; grid-row: 1; }
        .z-mainbar .z-mainbar__end { grid-column: 3; grid-row: 1; }
        .z-mainbar .z-search { grid-column: 1 / -1; grid-row: 2; max-width: none; }
    }
    .z-body :focus { scroll-margin-top: 240px; }
}
@media (max-width: 959px) {
    .z-mainbar .z-search { min-width: 0; }
    .z-search.is-search-open .z-search-close { width: 44px; height: 44px; }
    .z-steps__item:not(.is-current) .z-steps__label { display: block; position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
    .z-cartqty__step { width: 44px; height: 44px; }
    .z-cartqty__control input { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
    .z-body *, .z-body *::before, .z-body *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}
/* ===== /a11y ===== */

/* ===== qastore2 ===== */
/* The intrinsic HTML height must not override the responsive cover ratio. */
.z-article__cover img { height: auto; }
/* Match the red previous prices used by catalog cards and product details. */
.z-cartmore__price del { color: var(--z-red); }
/* ===== /qastore2 ===== */

/* ===== refgrid ===== */
/* Referanslarımız: bütün referanslar TEK ızgarada (sütunlar ve kart ölçüleri `refl` bloğundakiyle AYNI); kategori her kartta küçük etiket, iki ya da daha çok
   kategori varsa üstte filtre çipleri. Çipler betiksiz sayfa içi bağlantıdır; betik (`store.js` refgrid) yerinde filtreler, filtrelenen kartlar `hidden` olur. */
.z-refs__filter { display: flex; flex-wrap: wrap; gap: 8px 10px; margin: 0 0 22px; }
.z-refs__chip {
    display: inline-flex; align-items: center; gap: 10px; max-width: 100%; min-height: 44px; padding: 0 8px 0 18px; border: 1px solid var(--z-line-strong); border-radius: 999px;
    background: #fff; color: var(--z-ink); font-size: 14.5px; font-weight: 600; line-height: 1.25; text-decoration: none; overflow-wrap: anywhere; cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.z-refs__chip:hover { border-color: var(--z-navy); color: var(--z-navy); }
.z-refs__chip[aria-pressed="true"] { border-color: var(--z-navy); background: var(--z-navy); color: #fff; }
.z-refs__count { display: inline-grid; place-items: center; flex: none; min-width: 26px; height: 26px; padding: 0 8px; border-radius: 999px; background: var(--z-page); color: var(--z-muted); font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }
.z-refs__chip[aria-pressed="true"] .z-refs__count { background: rgba(255, 255, 255, .18); color: #fff; }
.z-refs__cell[hidden] { display: none; }
.z-refs__tag { margin: 0 0 -4px; overflow: hidden; color: var(--z-blue-strong); font-size: 11.5px; font-weight: 700; letter-spacing: .07em; line-height: 1.3; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
@media (max-width: 540px) {
    .z-refs__filter { gap: 8px; margin-bottom: 18px; }
    .z-refs__chip { padding-left: 14px; font-size: 14px; }
    .z-refs__tag { font-size: 10.5px; letter-spacing: .05em; }
}
/* ===== /refgrid ===== */

/* ===== qamoney ===== */
.z-gift__amounts .z-gift__balance-item { display: block; min-width: 0; }
.z-gift__balance-label { display: block; margin: 0 0 4px; color: var(--z-muted); font-size: 13px; }
.z-gift__balance-total { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; }
.z-gift__balance-total strong { min-width: 0; overflow-wrap: anywhere; }
.z-gift__credit-sources { display: grid; gap: 14px; margin: 16px 0 0; padding: 0; font-size: 13px; line-height: 1.5; }
.z-gift__credit-sources div { display: grid; gap: 3px; }
.z-gift__credit-sources dt { color: var(--z-muted); }
.z-gift__credit-sources dd { margin: 0; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.z-gift__credit-sources small { display: block; margin-top: 3px; color: var(--z-muted); font-size: 12px; }
@media (max-width: 640px) {
    .z-gift__row { grid-template-columns: minmax(0,1fr); gap: 6px; }
    .z-gift__amount { grid-row: auto; justify-self: start; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
}
/* ===== /qamoney ===== */

/* ===== qamodules ===== */
.z-wish__long-note { margin: 12px 0; color: var(--z-muted); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.z-wish .z-wish__long-note > summary { display: block; position: relative; padding-left: 20px; cursor: pointer; font-weight: 400; }
.z-wish .z-wish__long-note > summary::before { position: absolute; top: 0; left: 0; }
.z-wish__long-note summary span { display: block; width: auto; margin-top: 4px; color: var(--z-navy); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.z-wish__long-note summary:focus-visible { outline: 3px solid var(--z-navy); outline-offset: 3px; border-radius: 4px; }
.z-fav { position: relative; }
.z-fav__count { position: absolute; top: 0; left: 17px; min-width: 18px; height: 18px; display: grid; place-items: center; padding: 0 4px; border: 2px solid var(--z-white, #fff); border-radius: 20px; background: var(--z-navy, #303684); color: #fff; font-size: 10px; font-weight: 700; line-height: 1; }
.z-fav__count[hidden] { display: none; }
/* ===== /qamodules ===== */


/* ===== qastore3-visual ===== */
.z-pdp .z-buyform__row { align-items: flex-end; gap: 10px; }
.z-pdp__quantity { flex: 0 0 112px; min-width: 0; gap: 6px; }
.z-pdp__quantity-line { min-width: 0; flex-wrap: wrap; gap: 4px; align-items: flex-start; }
.z-pdp .z-buyform__row { position: relative; }
.z-pdp__stepper { flex: 0 0 112px; width: 112px; height: 48px; grid-template-columns: 32px minmax(0, 1fr) 32px; }
.z-pdp__stepper button, .z-body .z-pdp__stepper input { height: 46px; min-height: 46px; }
.z-pdp__message { position: absolute; top: calc(100% + 4px); left: 0; z-index: 1; width: min(210px, calc(100vw - 32px)); min-width: 0; padding-top: 2px; }
.z-pdp .z-buyform__row:has(.z-pdp__message:not(:empty)) { margin-bottom: 38px; }
.z-pdp .z-buyform__row .z-btn { flex: 1 1 auto; width: auto; min-width: 0; min-height: 48px; height: 48px; gap: 5px; padding-inline: 6px; font-size: 13px; line-height: 1.2; white-space: nowrap; }
.z-pdp .z-buyform__row .z-btn svg { flex: none; width: 18px; height: 18px; }
.z-pdp .z-heart { flex: 0 0 48px; width: 48px; min-width: 48px; height: 48px; }
.z-pdp .z-trust { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.z-pdp .z-trust li:first-child { display: flex; }
@media (max-width: 599px) {
    .z-pdp__quantity-line { align-items: flex-start; }
    .z-pdp .z-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 8px; }
}
@media (max-width: 959px) {
    .z-filter-sheet__header { min-height: 64px; padding-block: 10px; }
    .z-filter-sheet .z-filterbox__summary { min-height: 48px; padding-block: 8px; }
    .z-filter-sheet .z-filterbox__body { padding-bottom: 8px; }
}
/* ===== /qastore3-visual ===== */

/* ===== featprovideo ===== */
.z-pdp__video-stage { position: absolute; z-index: 3; inset: 0; display: grid; place-items: center; background: #111; }
.z-pdp__video-stage[hidden] { display: none; }
.z-pdp__video-stage iframe,
.z-pdp__video-stage video { display: block; width: 100%; height: 100%; max-width: 100%; border: 0; object-fit: contain; }
.z-pdp__video-thumb { position: relative; overflow: hidden; }
.z-pdp__video-thumb-label { position: absolute; inset: auto 3px 3px; padding: 2px 4px; border-radius: 4px; background: rgb(12 24 40 / 88%); color: #fff; font-size: 10px; line-height: 1.2; text-align: center; }
.z-pdp__video-play { position: absolute; inset: 50% auto auto 50%; display: grid; width: 30px; height: 30px; transform: translate(-50%, -50%); place-items: center; border-radius: 50%; background: rgb(255 255 255 / 94%); color: var(--z-navy); font-size: 14px; box-shadow: 0 1px 4px rgb(12 24 40 / 25%); }
.z-pdp__thumbs .z-pdp__video-thumb[aria-pressed="true"] { border-color: var(--z-navy); box-shadow: 0 0 0 1px var(--z-navy); }
.z-pdp__thumbs .z-pdp__video-thumb:focus-visible { outline: 3px solid #1d4ed8; outline-offset: 3px; }
@media (max-width: 480px) {
    .z-pdp__video-stage { border-radius: 10px; }
    .z-pdp__video-thumb-label { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
    .z-pdp__video-stage, .z-pdp__video-thumb { scroll-behavior: auto; transition: none; }
}
/* ===== /featprovideo ===== */
/* ===== featqa ===== */
.z-body .product-questions { width: calc(100% - 48px); max-width: calc(var(--z-wrap) - 48px); margin: 28px auto; padding: 26px 32px; border: 1px solid var(--z-line); border-radius: var(--z-radius); background: #fff; }
.z-body .product-questions h2, .z-body .product-questions h3 { color: var(--z-ink); }
.z-body .product-questions li { padding-block: 14px; border-bottom: 1px solid var(--z-line); }
.z-body .product-questions form { display: grid; gap: 14px; max-width: 680px; margin-top: 20px; }
.z-body .product-questions label { display: grid; gap: 6px; }
.z-body .product-questions input, .z-body .product-questions textarea { width: 100%; max-width: 100%; }
/* ===== /featqa ===== */
/* ===== featcfg2 ===== */
.z-body .cfg-page { max-width: 1200px; margin-inline: auto; padding-inline: 24px; }
.z-body .cfg-layout { grid-template-columns: minmax(0, 1fr) 356px; gap: 28px; }
.z-body .cfg-head h1 { font-weight: 750; letter-spacing: -.025em; }
.z-body .cfg-slot__number { background: var(--z-navy-soft); color: var(--z-navy); }
.z-body .cfg-summary h2 { color: var(--z-navy-strong); }
.z-body .cfg-option:has(input:checked) { background: var(--z-blue-soft); border-color: var(--z-blue); }
.z-body .cfg-option__price, .z-body .cfg-total > strong { color: var(--z-navy-strong); }
.z-body .cfg-template { border-top: 3px solid var(--z-navy); }
.z-body .cfg-page .store-button { text-decoration: none; }
.z-body .cfg-slot__footer input, .z-body .cfg-search input { border-color: var(--z-line-strong); }
.z-body .cfg-cart-heading { margin-top: 10px; color: var(--z-navy-strong); background: var(--z-navy-soft); border-color: var(--z-line); }
.z-body .cfg-cart-heading p { color: var(--z-muted); }
@media (max-width: 900px) { .z-body .cfg-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; } }
@media (max-width: 700px) { .z-body .cfg-page { padding-inline: 14px; } .z-body .cfg-layout { display: flex; } .z-body .cfg-summary__bar { padding-inline: 14px; } }
/* ===== /featcfg2 ===== */

/* ===== featserial ===== */
.z-featserial__unit + .z-featserial__unit { border-top: 1px solid var(--z-line, #e5e7eb); margin-top: 16px; padding-top: 16px; }
.z-featserial__unit strong, .z-featserial__unit dd { overflow-wrap: anywhere; }
/* ===== /featserial ===== */

/* ===== featquickview ===== */
.z-card { position: relative; }
.z-card__quick-view { position: absolute; z-index: 3; inset-inline-end: 12px; inset-block-end: 12px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 0 13px; border: 1px solid var(--z-line, #d9dee7); border-radius: 999px; background: var(--z-surface, #fff); color: var(--z-ink, #202938); font: inherit; font-size: .875rem; cursor: pointer; opacity: 0; transition: opacity .16s ease; }
.z-card:hover .z-card__quick-view, .z-card:focus-within .z-card__quick-view { opacity: 1; }
.z-card__quick-view:focus-visible, .qv-dialog :focus-visible { outline: 3px solid var(--z-accent, #2457c5); outline-offset: 2px; }
@media (hover: none), (pointer: coarse) { .z-card__quick-view { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .z-card__quick-view { transition: none; } }
/* ===== /featquickview ===== */

/* ===== featreorder ===== */
.z-order--repeat { grid-template-columns: minmax(0, 1fr) auto auto auto auto; }
.z-order__repeat { position: relative; z-index: 1; margin: 0; }
.z-order__repeat .z-btn { white-space: nowrap; }
@media (max-width: 760px) {
    .z-order--repeat { grid-template-columns: minmax(0, 1fr) auto; }
    .z-order__repeat { grid-column: 1 / -1; grid-row: 4; }
    .z-order__repeat .z-btn { width: 100%; }
}
/* ===== /featreorder ===== */
/* ===== uipolishfront ===== */
.z-body .z-showcase .z-grid:has(> .z-card:only-child) {
    grid-template-columns: minmax(0, min(100%, 320px));
    justify-content: center;
}
/* ===== /uipolishfront ===== */
/* ===== uipolishfront2 ===== */
.z-card__quick-view:focus-visible, .qv-dialog :focus-visible { outline-color: var(--z-blue, #0077b0); }
.qv-buy { background: var(--z-blue, #0077b0); }
.qv-thumbs button[aria-pressed="true"] { border-color: var(--z-blue, #0077b0); }
@media (max-width: 700px) {
    .z-card__quick-view { inset-block-start: 8px; inset-block-end: auto; inset-inline-end: 8px; opacity: 1; box-shadow: 0 2px 8px rgba(22, 28, 64, .14); }
    .qv-main { flex: 1 1 auto; grid-template-rows: auto auto; overflow-y: auto; overscroll-behavior: contain; }
    .qv-info { min-height: auto; }
    .qv-description { flex: 0 0 auto; max-height: none; overflow: visible; }
    .qv-buy-row { position: sticky; z-index: 1; bottom: 0; margin-top: 12px; padding: 10px 0 2px; background: var(--store-surface, #fff); }
}
/* ===== /uipolishfront2 ===== */
/* ===== featcartlink ===== */
.z-cart-link-unavailable { margin: 0 0 18px; padding: 16px 20px; border: 1px solid var(--z-border, #d8e0e5); border-inline-start: 4px solid var(--z-amber, #9a5d00); border-radius: 12px; background: var(--z-surface, #fff); color: var(--z-ink, #1c2832); }
.z-cart-link-unavailable h2 { margin: 0 0 8px; font-size: 1rem; }
.z-cart-link-unavailable ul { margin: 0; padding-inline-start: 20px; }
.z-cart-link-unavailable li + li { margin-top: 6px; }
@media (max-width: 600px) { .z-cart-link-unavailable { padding: 14px; } }
/* ===== /featcartlink ===== */
/* ===== featcustomercancel ===== */
.z-cancel-note { flex-basis: 100%; margin: 0; padding: 12px 14px; border: 1px solid var(--z-line); border-left: 3px solid var(--z-blue-strong); border-radius: 9px; background: var(--z-page); color: var(--z-ink); line-height: 1.55; }
.z-cancel-note--pending { border-color: #ead5a3; border-left-color: #a66a00; background: #fffaf0; }
.z-cancel-note a { color: var(--z-navy); font-weight: 700; text-underline-offset: 3px; }
.z-cancel-disclosure { flex: 1 1 100%; min-width: 0; }
.z-cancel-disclosure > summary { display: inline-flex; cursor: pointer; list-style: none; }
.z-cancel-disclosure > summary::-webkit-details-marker { display: none; }
.z-cancel-form { display: grid; gap: 14px; max-width: 620px; margin-top: 14px; padding: 20px; border: 1px solid var(--z-line); border-radius: var(--z-radius); background: #fff; }
.z-cancel-form h3, .z-cancel-form p { margin: 0; }
.z-cancel-form h3 { color: var(--z-ink); font-size: 18px; }
.z-cancel-form p { color: var(--z-muted); line-height: 1.55; }
.z-cancel-form__field { display: grid; gap: 6px; color: var(--z-ink); font-size: 14px; font-weight: 650; }
.z-cancel-form__field select, .z-cancel-form__field textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--z-line-strong); border-radius: 8px; background: #fff; color: var(--z-ink); font: inherit; }
.z-cancel-form__field textarea { resize: vertical; }
.z-cancel-form__confirm { display: flex; align-items: flex-start; gap: 9px; color: var(--z-ink); line-height: 1.45; }
.z-cancel-form__confirm input { flex: none; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--z-navy); }
.z-cancel-form :focus-visible, .z-cancel-disclosure > summary:focus-visible { outline: 3px solid var(--z-blue-strong); outline-offset: 3px; }
@media (max-width: 600px) { .z-cancel-form { padding: 16px; } .z-cancel-disclosure > summary, .z-cancel-form > .z-btn { width: 100%; justify-content: center; } }
/* ===== /featcustomercancel ===== */
/* ===== featdeliveryeta ===== */
.z-delivery-estimate {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 12px 0 0;
    padding: 11px 13px;
    border: 1px solid var(--z-line);
    border-radius: 12px;
    background: var(--z-blue-soft);
    color: var(--z-text);
}
.z-delivery-estimate__icon {
    display: inline-flex;
    flex: 0 0 20px;
    align-items: center;
    justify-content: center;
    margin-top: 1px;
    color: var(--z-blue-strong);
}
.z-delivery-estimate__body { min-width: 0; }
.z-delivery-estimate__title,
.z-delivery-estimate__hint { margin: 0; }
.z-delivery-estimate__title { font-size: 14px; line-height: 1.45; }
.z-delivery-estimate__title span { font-weight: 700; }
.z-delivery-estimate__hint { margin-top: 2px; color: var(--z-muted); font-size: 12px; line-height: 1.45; }
.z-delivery-estimate__inline { display: block; margin-top: 5px; color: var(--z-text); font-size: 12px; line-height: 1.45; }
.z-delivery-estimate__inline span { display: block; color: var(--z-muted); }
@media (max-width: 700px) {
    .z-delivery-estimate { gap: 8px; padding: 10px 11px; }
}
/* ===== /featdeliveryeta ===== */

/* ===== featwarrantylookup ===== */
.featwarranty-page{max-width:46rem;margin:3rem auto;padding:0 1rem;color:var(--text,#18212b)}
.featwarranty-heading{margin-bottom:1.5rem}.featwarranty-kicker{margin:0 0 .4rem;color:var(--muted,#5c6672);font-size:.875rem}.featwarranty-heading h1{margin:0;font-size:clamp(1.75rem,5vw,2.25rem);line-height:1.2}.featwarranty-heading>p:last-child{max-width:40rem;color:var(--muted,#5c6672);line-height:1.6}
.featwarranty-form,.featwarranty-result{padding:1.25rem;border:1px solid var(--border,#d9dee5);border-radius:var(--radius-card,12px);background:var(--surface,#fff);box-shadow:0 4px 18px rgba(20,32,48,.04)}
.featwarranty-form{display:grid;gap:1rem}.featwarranty-form label{display:grid;gap:.45rem;font-weight:600}.featwarranty-form input{width:100%;min-height:2.8rem;padding:.65rem .75rem;border:1px solid var(--border,#c9d1db);border-radius:8px;background:#fff;color:inherit;font:inherit}.featwarranty-form input:focus-visible,.featwarranty-form button:focus-visible,.featwarranty-result a:focus-visible{outline:3px solid #426b9a;outline-offset:2px}.featwarranty-form button{min-height:2.8rem;padding:.65rem 1rem;border:0;border-radius:8px;background:var(--button-bg,#243d56);color:#fff;font:inherit;font-weight:650;cursor:pointer}
.featwarranty-message{margin:1rem 0;padding:.85rem 1rem;border-radius:8px;background:#f2f4f7;color:#253140}.featwarranty-result{margin-top:1rem}.featwarranty-result h2{margin:0 0 1rem;font-size:1.2rem}.featwarranty-result dl{display:grid;gap:.75rem;margin:0}.featwarranty-result dl>div{display:grid;grid-template-columns:minmax(8rem,1fr) 2fr;gap:.75rem}.featwarranty-result dt{color:var(--muted,#5c6672)}.featwarranty-result dd{margin:0;overflow-wrap:anywhere;font-weight:600}.featwarranty-status{margin:1rem 0;font-weight:650}.featwarranty-result a{color:var(--link,#245d91);text-underline-offset:3px}
@media(max-width:420px){.featwarranty-page{margin:1.75rem auto;padding:0 .9rem}.featwarranty-form,.featwarranty-result{padding:1rem}.featwarranty-result dl>div{grid-template-columns:1fr;gap:.2rem}}
/* ===== /featwarrantylookup ===== */
/* ===== featlowstockbadge ===== */
.z-low-stock-hint {
    width: fit-content;
    max-width: 100%;
    margin: 8px 0;
    padding: 5px 9px;
    border-inline-start: 2px solid var(--z-blue, #0077b0);
    border-radius: 4px;
    background: var(--z-blue-soft, #edf6fa);
    color: var(--z-ink, #20243a);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
}
.z-low-stock-hint[hidden] { display: none; }
.z-low-stock-hint--card { margin: 7px 0 0; }
/* ===== /featlowstockbadge ===== */
/* ===== featautopromos ===== */
.z-promotion-row { align-items: flex-start; }
.z-promotion-row dt { min-width: 0; overflow-wrap: anywhere; }
.z-promotion-row dd { flex-shrink: 0; white-space: nowrap; }
/* ===== /featautopromos ===== */
/* ===== featcompare ===== */
.z-compare-toggle { margin-block-start: .6rem; }
.z-compare-toggle button, .z-compare-bar button, .z-compare-bar__go, .z-compare__cart button, .z-compare__options, .z-compare__filter button { min-height: 44px; padding: .55rem .85rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); color: var(--ink); font: inherit; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; cursor: pointer; }
.z-compare-toggle button[aria-pressed="true"] { border-color: var(--accent); color: var(--accent); }
.z-compare-bar { position: fixed; z-index: 1000; inset-inline: 0; inset-block-end: 0; padding: .65rem max(1rem, env(safe-area-inset-left)) calc(.65rem + env(safe-area-inset-bottom)); border-block-start: 1px solid var(--line); background: var(--paper); color: var(--ink); }
.z-compare-bar__inner, .z-compare-bar__items, .z-compare-bar__actions, .z-compare-bar__item { display: flex; align-items: center; gap: .6rem; }
.z-compare-bar__inner { max-width: var(--z-wrap); margin-inline: auto; justify-content: space-between; }
.z-compare-bar__items { min-width: 0; overflow-x: auto; scroll-snap-type: x proximity; }
.z-compare-bar__item { flex: 0 0 auto; max-width: 15rem; padding-inline-start: .65rem; border: 1px solid var(--line); border-radius: var(--radius); scroll-snap-align: start; }
.z-compare-bar__item { overflow-wrap: anywhere; }
.z-compare-bar__item form { display: flex; }
.z-compare-bar__item button, .z-compare-bar__actions button { min-width: 44px; min-height: 44px; border: 0; background: transparent; color: var(--ink); font: inherit; cursor: pointer; }
.z-compare-bar__actions { flex: 0 0 auto; }
.z-compare-bar__notice { max-width: var(--z-wrap); margin: .35rem auto 0; color: var(--ink); }
.z-compare__empty { padding: 2rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.z-compare__filter { margin-block: 1rem; }
.z-compare__filter label { min-height: 44px; display: inline-flex; align-items: center; gap: .6rem; }
.z-compare__table-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scrollbar-gutter: stable; }
.z-compare__table { width: max-content; min-width: 100%; border-collapse: separate; border-spacing: 0; color: var(--ink); }
.z-compare__table th, .z-compare__table td { min-width: 12rem; padding: .8rem; border-inline-end: 1px solid var(--line); border-block-end: 1px solid var(--line); text-align: start; vertical-align: top; overflow-wrap: anywhere; background: var(--paper); }
.z-compare__table th:first-child { min-width: 9rem; }
.z-compare__sticky-col { position: sticky; inset-inline-start: 0; z-index: 2; }
.z-compare__table thead .z-compare__sticky-col { z-index: 4; }
.z-compare__product-col { scroll-snap-align: start; }
.z-compare__product { min-width: 11rem; display: grid; align-content: start; gap: .5rem; }
.z-compare__product-link { display: grid; gap: .5rem; color: inherit; text-decoration: none; }
.z-compare__image, .z-compare__noimg { width: 100%; height: 9rem; object-fit: contain; border-radius: var(--radius); background: var(--soft); }
.z-compare__noimg { display: grid; place-items: center; }
.z-compare__title { overflow-wrap: anywhere; }
.z-compare__prices { display: flex; flex-wrap: wrap; gap: .5rem; }
.z-compare__prices del { color: var(--muted); }
.z-compare__remove { min-width: 44px; min-height: 44px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); color: var(--ink); font: inherit; cursor: pointer; }
.z-compare :focus-visible, .z-compare-bar :focus-visible, .z-compare-toggle :focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
@media (max-width: 680px) {
    .z-compare-bar__inner { align-items: stretch; flex-direction: column; }
    .z-compare-bar__actions { justify-content: space-between; }
    .z-compare__table th, .z-compare__table td { min-width: 13rem; }
    .z-compare__table th:first-child { min-width: 8rem; max-width: 8rem; }
}
/* ===== /featcompare ===== */

/* ===== uipolishfront4 ===== */
@media (max-width: 640px) {
    .z-wrap.hero-slider:not(.hero-slider--mobile-art) .hero-slider__viewport { aspect-ratio: 3 / 2; }
    /* Phone art is square (1:1): the box takes the real size of the first phone image (--hs-mobile-ratio, written by the hero view) and is square
       when that size is unknown, so the picture is shown whole instead of being cropped to 3 / 2. Height always comes from the ratio, never from pixels. */
    .z-wrap.hero-slider.hero-slider--mobile-art .hero-slider__viewport { aspect-ratio: var(--hs-mobile-ratio, 1 / 1); }
}
/* ===== /uipolishfront4 ===== */
/* ===== featblogplus taxonomy chips ===== */
.z-post-card__taxonomies, .z-article__taxonomies { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; margin: 0; padding: 0; }
.z-post-card__taxonomies a, .z-article__taxonomies a { display: inline-flex; align-items: center; min-height: 30px; padding: .25rem .65rem; border: 1px solid var(--line); border-radius: 999px; background: var(--soft); color: var(--ink); font-size: .8rem; line-height: 1.2; text-decoration: none; }
.z-post-card__taxonomies a:hover, .z-article__taxonomies a:hover { border-color: var(--accent); color: var(--accent); }
.z-post-card__taxonomies a:focus-visible, .z-article__taxonomies a:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.z-article__taxonomies { margin-block: .8rem 1rem; }
/* ===== /featblogplus taxonomy chips ===== */
/* ===== featwarrantycase ===== */
.featwarranty-case-form{display:grid;gap:1rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border,#d9dee5)}
.featwarranty-case-form h3{margin:0;font-size:1.1rem}.featwarranty-case-form label{display:grid;gap:.45rem;font-weight:600}
.featwarranty-case-form input,.featwarranty-case-form textarea{width:100%;min-height:2.8rem;padding:.65rem .75rem;border:1px solid var(--border,#c9d1db);border-radius:8px;background:var(--surface,#fff);color:inherit;font:inherit}
.featwarranty-case-form textarea{min-height:7rem;resize:vertical}.featwarranty-case-form :focus-visible{outline:3px solid #426b9a;outline-offset:2px}
.featwarranty-case-form button{min-height:2.8rem;padding:.65rem 1rem;border:0;border-radius:8px;background:var(--button-bg,#243d56);color:#fff;font:inherit;font-weight:650;cursor:pointer}
@media(max-width:420px){.featwarranty-case-form button{width:100%}}
.z-warranty-case-unit{display:grid;gap:1rem;padding-block:1rem;border-top:1px solid var(--line,#d9dee5)}
.z-warranty-case-unit .z-facts{margin:0}.z-warranty-case-unit .z-facts dd{overflow-wrap:anywhere}
.z-warranty-case-form textarea{width:100%;min-height:6rem;padding:.7rem;border:1px solid var(--line,#c9d1db);border-radius:var(--radius,8px);font:inherit;resize:vertical}
.z-warranty-case-form textarea:focus-visible,.z-warranty-case-form button:focus-visible{outline:3px solid var(--accent,#245d91);outline-offset:2px}
.z-warranty-case-card .z-panel__head{align-items:flex-start;gap:.75rem}.z-warranty-case-card .z-panel__title a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.z-warranty-case-history{display:grid;gap:1rem;padding-inline-start:1.25rem}.z-warranty-case-history li{padding-inline-start:.25rem;overflow-wrap:anywhere}.z-warranty-case-history time{display:block;color:var(--muted,#5c6672);font-size:.9rem}
@media(max-width:480px){.z-warranty-case-card .z-panel__head{flex-direction:column}.z-warranty-case-link .z-btn{width:100%;justify-content:center}}
/* ===== /featwarrantycase ===== */

/* ===== qamember1 ===== */
/* Üye yolculuğu QA düzeltmeleri (12 Eki). Her kural neyi düzelttiğini yanında söyler. */

/* Giriş / üyelik uyarısı: standart `.store-notice p` kutusu (çerçeve + zemin) kabuğun üstüne biniyor ve iç içe iki kutu çiziyordu.
   Kutu yalnız kabuğun kendisidir; metin düz kalır. */
.z-body .z-auth .store-notice p { padding: 0; border: 0; border-radius: 0; background: transparent; font-weight: 600; }

/* Geçersiz alan: `.z-body :is(input:not(...):not(...):not(...))` tabanı (0,4,1) özgüllükte olduğu için `[aria-invalid]` kuralı (0,3,1) hiç kazanmıyor,
   hatalı alan kırmızı çerçeve almıyordu (giriş, üyelik, profil, adres, kasa). Aynı seçici ailesiyle üstüne çıkılır. */
.z-body .z-field__control :is(input, select, textarea)[aria-invalid="true"]:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) { border-color: var(--z-red); }
.z-body .z-field__control :is(input, select, textarea)[aria-invalid="true"]:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus { border-color: var(--z-red); box-shadow: 0 0 0 4px rgba(216, 57, 31, .12); }

/* Hesap gezinmesi: dar ekranda sekme yüksekliği 42px'ti; dokunma hedefi en az 44px. */
@media (max-width: 859px) { .z-acct__nav a { min-height: 44px; } }

/* Karşılama kartı: adı olmayan üyede e-posta başlık olur. '@' ve '.' önünde satır kırılabilsin ("...@example.te / st" gibi kelime ortasından kırılma
   olmasın); dar ekranda başlık biraz küçülür. */
.z-welcome__mail { overflow-wrap: break-word; }
@media (max-width: 480px) { .z-welcome__mail { font-size: 17px; } }

/* Kasa özeti: .z-summary tek sütunlu bir ızgara; kupon satırı (alan + düğme) sütunun en küçük genişliğini kartın üstüne çıkarıyor, fiyatlar ve
   "Kuponu uygula" kartın sağ kenarından taşıyordu (1440'ta 11px, 390'da 7px). Sütun kartın genişliğiyle sınırlanır. */
.z-summary { grid-template-columns: minmax(0, 1fr); }
.z-cosum__coupon { grid-template-columns: minmax(0, 1fr); }

/* Karşılaştırma tablosu: (1) scroll-snap açılışta ilk ürün sütununu yapışkan etiket sütununun altına kaydırıyordu (390'da ilk ürünün adı baştan kesik
   görünüyordu); snap hizasına etiket sütunu kadar boşluk bırakılır. (2) Dar ekranda sütunlar içeriğin tam genişliğini alıyordu (372px): ürün sütunu sabit
   genişlik, etiket sütunu daralır, ilk ürün tam görünür ve hücreler satır kırar. (3) "Yalnızca farkları göster" etiketi "Uygula" düğmesine bitişikti. */
.z-compare__table-wrap { scroll-padding-inline-start: 9rem; }
.z-compare__table th, .z-compare__table td { white-space: normal; }
.z-compare__filter { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
@media (max-width: 640px) {
    .z-compare__table-wrap { scroll-padding-inline-start: 6.5rem; }
    .z-compare__table th:first-child { width: 6.5rem; min-width: 6.5rem; max-width: 6.5rem; padding-inline: .6rem; font-size: 13px; }
    .z-compare__product-col { width: 14rem; max-width: 14rem; }
}

/* Ürün soruları (Soru & Cevap): form alanları ve düğme artık z-field / z-btn; soru-yanıt listesi mağazanın kart diliyle (yorumlardaki mağaza yanıtı gibi). */
.z-qa__head p { margin: 4px 0 0; color: var(--z-muted); }
.z-qa__empty { margin: 14px 0 0; color: var(--z-muted); }
.z-body .product-questions .z-qa__list { display: grid; margin: 14px 0 0; padding: 0; list-style: none; }
.z-qa__item h3 { margin: 0 0 4px; font-size: 16px; font-weight: 650; }
.z-qa__by { margin: 0; color: var(--z-muted); font-size: 13.5px; }
.z-qa__answer { margin-top: 12px; padding: 12px 16px; border-left: 3px solid var(--z-line-strong); border-radius: 0 10px 10px 0; background: var(--z-page); }
.z-qa__answer strong { color: var(--z-navy); font-weight: 650; }
.z-qa__answer p { margin: 4px 0 0; color: var(--z-ink); line-height: 1.6; }
.z-qa__ask { margin: 26px 0 0; font-size: 18px; }
.z-qa .z-notice { margin: 14px 0 0; }

/* Yan yana iki alandan birinde hata satırı varsa komşu alanın girişi aşağı itiliyordu (alan ızgarası boş yüksekliği satırlara dağıtıyordu): içerik üstte kalır. */
.z-form__row > .z-field { align-content: start; }

/* Adres kartı araçları dar ekranda ("Düzenle", "Varsayılan yap", çöp kutusu) 8px yüzünden iki satıra bölünüp çöp kutusunu tek başına bırakıyordu. */
@media (max-width: 480px) {
    .z-addr__tools { column-gap: 4px; }
    .z-addr__tools .z-btn--sm { padding-inline: 10px; }
    .z-addr__tools .z-btn--text { padding-inline: 4px; }
}

/* Dokunma hedefleri (dar ekran): küçük düğmeler (40px), "geri" bağlantısı (22px), Kopyala (32px) ve kart kalp düğmesi (38px) en az 44px olur. */
@media (max-width: 859px) {
    .z-btn--sm { min-height: 44px; }
    .z-btn--icon { width: 44px; min-width: 44px; }
    .z-acct__back { display: inline-flex; align-items: center; min-height: 44px; }
    .z-bank__copy { min-height: 44px; }
    .z-fav-toggle__btn { width: 44px; height: 44px; }
}

/* Karşılama kartı: adı olan üyede ad başlık, e-posta alt satırdır. */
.z-welcome__sub { margin: 2px 0 0; color: var(--z-muted); font-size: 14px; overflow-wrap: break-word; }

/* Hediye çeki kodu alanı dar ekranda: yer tutucu ve yazılan kod 390px'te kesiliyordu ("XXXX-XXXX-XXXX-XXXX-XXXX-XX…"); yazı biraz küçülür, harf aralığı daralır. */
@media (max-width: 480px) { .z-body .z-gift__form .z-field__control input { font-size: 14px; letter-spacing: .02em; } }

/* İade süreci: talep numarası şimdilik kimliğin kendisi (biçim henüz karara bağlanmadı); başlık "İade talebi", numara altında sönük ve kopyalanabilir bir satır. */
.z-return-status__no { display: block; margin-top: 2px; color: var(--z-muted); font-size: 13px; font-weight: 500; letter-spacing: .02em; overflow-wrap: anywhere; user-select: all; }
/* ===== /qamember1 ===== */

/* ===== featvariantimages ===== */
.z-pdp .varimg-option-values { display: flex; flex-wrap: wrap; gap: 8px; max-height: 240px; overflow-y: auto; padding: 4px; }
.z-pdp .varimg-choice { position: relative; border: 1px solid var(--z-line); border-radius: 10px; padding: 8px 12px; cursor: pointer; max-width: 100%; }
.z-pdp .varimg-choice:has(input:checked) { border-color: var(--z-ink); background: #fff; box-shadow: 0 0 0 1px var(--z-ink); }
.z-pdp .varimg-choice:has(input:focus-visible) { outline: 2px solid var(--z-ink); outline-offset: 3px; }
.z-pdp .varimg-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.z-pdp .varimg-swatch { display: flex; align-items: center; gap: 8px; width: auto; height: auto; overflow: visible; }
.z-pdp .varimg-swatch img { width: 40px; height: 40px; object-fit: contain; border-radius: 6px; }
.z-pdp .varimg-value-name { font-size: 13px; overflow-wrap: anywhere; }
.z-pdp .sku-list { max-height: 280px; overflow-y: auto; overscroll-behavior: contain; }
.featvariantimages-order-image { float: left; object-fit: contain; border: 1px solid var(--z-line); border-radius: 8px; margin: 0 12px 4px 0; }
.z-pdp .z-thumbs { min-height: 79px; }
@media (max-width: 599px) { .z-pdp .z-thumbs { min-height: 69px; } }
.z-pdp .z-thumbs[hidden], .z-pdp .z-pdp__gallery-tools[hidden] { display: flex; visibility: hidden; }
/* ===== /featvariantimages ===== */
/* ===== featbankready1 ===== */
.z-paybadges__copy { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; min-width: 0; }
.z-paybadges__note { max-width: 430px; color: var(--z-muted); font-size: 12px; line-height: 1.45; }
.z-co__payment-security { margin: 14px 0 0; color: var(--z-muted); font-size: 14px; line-height: 1.5; }
@media (max-width: 560px) {
    .z-paybadges__copy { align-items: center; }
    .z-paybadges__note { max-width: 350px; font-size: 13px; line-height: 1.5; }
}
/* ===== /featbankready1 ===== */

/* ===== featfxprices ===== */
.z-currency{display:inline-flex;align-items:center;flex:none;gap:4px;margin:4px 0;border:1px solid var(--z-line-strong);border-radius:999px;background:#fff;color:var(--z-navy)}
.z-currency__control{position:relative;display:flex;align-items:center}
.z-currency select{appearance:none;-webkit-appearance:none;width:90px;min-width:0;min-height:34px;padding:4px 28px 4px 12px;border:0;border-radius:999px;background:transparent;color:var(--z-navy);font:600 13px/1.3 var(--z-font);cursor:pointer}
.z-currency__control svg{position:absolute;right:10px;pointer-events:none}
.z-currency select:focus{outline:0}
.z-currency:focus-within{outline:2px solid var(--z-blue);outline-offset:3px}
.z-currency:hover{border-color:var(--z-navy)}
.z-currency button{margin-right:4px;padding:6px 10px;border:0;border-radius:999px;background:var(--z-navy-soft);color:var(--z-navy);font:600 12px var(--z-font)}
.z-currency[data-fx-currency-ready="1"] button{display:none}
.z-currency__caption{display:none;color:var(--z-muted);font-size:12px}
.z-fx-source-price{margin:8px 0 0;color:var(--z-muted);font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.z-fx-contact{color:var(--z-muted);font-size:12px;white-space:normal;text-align:right}
@media(max-width:760px){
 .z-header--currency .z-topbar{display:block}
 .z-header--currency .z-topbar__in{justify-content:space-between;align-items:center;gap:12px;padding-inline:16px}
 .z-header--currency .z-toplinks{display:none}
 .z-currency__caption{display:block}
 .z-currency{margin:6px 0}
 .z-currency select{min-height:34px}
}
/* ===== /featfxprices ===== */

/* ===== featreturn2 ===== */
/* İade formu — kısmi adet. Her kalem bir kart (işaret kutusu + başlık); işaretlenince kartın altına adet seçici açılır: −  3  +  (44 px dokunma alanı),
   hata mesajı alanın hemen altında. `:has()` yoksa seçici hep görünür (sayı alanı yine çalışır). Betik −/+ düğmelerini, özeti ve metni ekler. */
.z-retline { display: grid; min-width: 0; }
.z-retqty { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 6px 16px 16px 54px; border: 1px solid var(--z-line-strong); border-top: 0; border-radius: 0 0 12px 12px; background: #fff; }
@supports selector(:has(*)) {
    .z-retline:not(:has(.z-pick input:checked)) .z-retqty { display: none; }
}
.z-retline:has(.z-pick input:checked) .z-pick { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.z-retline:has(.z-pick input:checked) .z-retqty { border-color: var(--z-navy); background: var(--z-navy-soft); }
.z-retqty__label { color: var(--z-ink); font-size: 14px; font-weight: 600; }
.z-retqty__control { display: inline-flex; align-items: stretch; height: 44px; border: 1px solid var(--z-control-border, var(--z-line-strong)); border-radius: 10px; background: #fff; overflow: hidden; }
.z-retqty__step { flex: 0 0 44px; display: grid; place-items: center; width: 44px; min-width: 44px; min-height: 44px; margin: 0; padding: 0; border: 0; background: transparent; color: var(--z-navy); cursor: pointer; }
.z-retqty__step[hidden] { display: none; }
.z-retqty__step svg { width: 18px; height: 18px; stroke-width: 2.4; }
.z-retqty__step:hover:not(:disabled) { background: var(--z-navy-soft); }
.z-retqty__step:disabled { color: var(--z-faint); cursor: default; }
.z-body .z-retqty__input { flex: 0 0 64px; width: 64px; min-width: 0; height: 100%; min-height: 0; margin: 0; padding: 0 4px; border: 0; border-left: 1px solid var(--z-line); border-right: 1px solid var(--z-line); border-radius: 0; background: transparent; color: var(--z-ink); font: 600 16px var(--z-font); font-variant-numeric: tabular-nums; text-align: center; }
.z-retqty.is-enhanced .z-retqty__input { appearance: textfield; -moz-appearance: textfield; }
.z-retqty.is-enhanced .z-retqty__input::-webkit-inner-spin-button, .z-retqty.is-enhanced .z-retqty__input::-webkit-outer-spin-button { appearance: none; margin: 0; }
.z-body .z-retqty__control :is(input, button):focus-visible { outline: 3px solid var(--z-navy); outline-offset: -3px; }
.z-retqty__control:has(.z-retqty__input[aria-invalid="true"]) { border-color: var(--z-red); box-shadow: 0 0 0 1px var(--z-red); }
.z-body .z-retqty__input[aria-invalid="true"] { color: #a1281c; }
.z-retqty__hint { color: var(--z-muted); font-size: 13px; }
.z-retqty__error { flex: 1 1 100%; display: block; color: #a1281c; font-size: 13px; font-weight: 600; }
.z-retqty__error[hidden] { display: none; }
.z-retqty__error--line { margin: 8px 4px 0; }
.z-return__summary { display: flex; align-items: center; gap: 10px; margin: 16px 0 0; padding: 12px 14px; border-radius: 10px; background: var(--z-line-soft); color: var(--z-ink); font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.z-return__summary svg { flex: none; width: 18px; height: 18px; color: var(--z-navy); }
.z-return__summary.is-empty { color: var(--z-muted); font-weight: 500; }
.z-return__summary.is-empty svg { color: var(--z-faint); }
.z-return__summary.is-error { background: #fff5f3; color: #8f2716; }
.z-return__summary.is-error svg { color: var(--z-red); }
/* İade durumu: numara (destek hattına söylenen kod) başlığın altında belirgin ve kopyalanabilir; kimlik gösterilmez. */
.z-return-status__id { display: grid; gap: 4px; min-width: 0; }
.z-return-status__numline { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0; color: var(--z-muted); font-size: 13px; }
.z-return-status__numline .z-return-status__no { display: inline; margin: 0; color: var(--z-ink); font-size: 15px; font-weight: 700; letter-spacing: .03em; font-variant-numeric: tabular-nums; }
.z-return-status .z-lines { margin-top: 14px; }
.z-return-status .z-line { grid-template-columns: minmax(0, 1fr) auto; }
@media (max-width: 600px) {
    .z-retqty { padding: 4px 14px 16px; gap: 10px; }
    .z-retqty__label { flex: 1 1 100%; }
    .z-return-status__label { flex: 1 1 100%; }
}
/* ===== /featreturn2 ===== */

/* ===== featmember2 ===== */
/* Yorum sahibi: "Yorumlarım" kartındaki düzenle / sil satırı, "Düzenlendi" notu, ürün sayfasındaki düzenleme bağlantısı, satın alma şartı notu ve düzenleme sayfası. */
.z-review__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--z-line); }
.z-review__actions form { margin: 0; }
.z-reviews__edited { color: var(--z-muted); font-size: 12px; }
.z-reviews__own { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.z-reviews__notice--info { border-color: var(--z-line-strong); background: var(--z-page); color: var(--z-text); }
.z-reviews__hint--lead { margin: -6px 0 18px; font-size: 14px; }
.z-reviews__edit .z-reviews__rating { margin-bottom: 4px; }
.z-reviews__danger .z-panel__lead { margin-bottom: 14px; }
.z-reviews__edit .z-panel__title a { color: inherit; text-decoration: none; }
.z-reviews__edit .z-panel__title a:hover { text-decoration: underline; }
.z-review__own-link { font-size: 13px; font-weight: 600; }
/* E-posta değişikliği onay sayfası: panelin başlığı yok (sayfa başlığı aynı şeyi söylüyor), açıklama doğrudan formun üstünde. */
.z-email-change .z-panel__lead { margin: 0 0 18px; }
/* Adres defteri: il / ilçe alanı Türkiye adresinde açılır liste, başka ülkede düz metindir; `hidden` olan kutu `.z-field__control` görüntüsüne yenilmez. */
.z-field [data-z-geo-list][hidden], .z-field [data-z-geo-text][hidden] { display: none; }
/* Miktar seçici dokunma hedefi: ürün sayfasında artı/eksi düğmeleri 32px genişlikteydi (112px'lik seçici), sepette masaüstünde 40x42px: ikisi de en az 44x44px.
   Ürün sayfasında seçici 140px olur; satırdaki düğmeler `flex: 1 1 auto` olduğundan kalan yeri paylaşır. */
.z-pdp__quantity { flex: 0 0 140px; }
.z-pdp__stepper { flex: 0 0 140px; width: 140px; grid-template-columns: 44px minmax(0, 1fr) 44px; }
.z-pdp__stepper button { min-width: 44px; }
.z-cartqty__step { width: 44px; height: 44px; }
.z-cartqty__control input { min-height: 44px; }
/* Karşılaştırma çubuğu: sayı bağlantının içinde ("Karşılaştır (2)"); `inline-flex` metin ile sayı arasındaki boşluğu yutardı. */
.z-compare-bar__go { gap: .3em; }
/* ===== /featmember2 ===== */

/* ===== fixqa6 newsletter shell ===== */
.z-newsletter-page { display: grid; justify-items: center; padding-block: 48px; }
.z-newsletter-page .z-newsletter-form__input { min-height: 48px; }
/* ===== /fixqa6 newsletter shell ===== */


/* ===== refblock1 ===== */
.r-logos {
    --reference-wrap: var(--z-wrap);
    --reference-gutter: 24px;
    --reference-mobile-gutter: 16px;
    --reference-line: var(--z-line);
    --reference-radius: var(--z-radius);
    --reference-caption: var(--z-muted);
    --reference-focus: var(--z-navy);
    --reference-tint: var(--z-navy-soft);
    --reference-dark: var(--z-navy-strong);
}
/* ===== /refblock1 ===== */

/* ===== pubpolish1 ===== */
/* SKU radios remain the visible purchase controls; gallery listeners keep their data. */
.pubpolish-single-axis .option-group,
.pubpolish-single-axis .varimg-option { display: none; }
/* ===== /pubpolish1 ===== */

/* ===== zvqa1 ===== */
/* Keep compact glyphs, with a full 44px hit area for mouse and touch alike. */
.z-search > button[type="submit"] { top: 4px; right: 4px; width: 44px; height: 44px; }
.z-field__reveal { width: 44px; height: 44px; }
.z-body .z-field__control input::placeholder { color: var(--z-muted); opacity: 1; }
.z-wrap.hero-slider .hero-slider__dots { min-width: 0; flex-wrap: wrap; }
.z-wrap.hero-slider .hero-slider__dot { flex: none; width: 44px; height: 44px; }
@media (max-width: 959px) {
    .z-search > button[type="submit"] { top: 1px; }
    .z-search.is-search-open > button[type="submit"] { top: 73px; right: 19px; }
    .z-search .z-search-clear { min-height: 44px; }
    .z-footer__col li > a, .z-legal a { min-height: 44px; }
}
/* ===== /zvqa1 ===== */

/* ===== zvfallback1 ===== */
/* Customer-owned views; cfg/qv hooks remain the standard server/JavaScript contract. */
.z-configurator { max-width: 1200px; padding-block: 32px 64px; }
.z-configurator .cfg-head { max-width: 760px; margin-bottom: 28px; }
.z-configurator .cfg-head h1 { margin-block: 8px 12px; color: var(--z-ink); font-size: clamp(26px, 3vw, 34px); letter-spacing: -.025em; }
.z-configurator .cfg-kicker { color: var(--z-blue-strong); letter-spacing: .09em; }
.z-configurator .cfg-back { display: inline-flex; align-items: center; min-height: 44px; color: var(--z-muted); text-underline-offset: 4px; }
.z-configurator .cfg-layout { grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; }
.z-configurator .cfg-slot { overflow: clip; border-color: var(--z-line); border-radius: var(--z-radius); }
.z-configurator .cfg-slot > summary { padding: 20px; }
.z-configurator .cfg-slot > summary:focus-visible { outline-offset: -4px; border-radius: 10px; }
.z-configurator .cfg-slot[open] > summary { background: #fbfcfe; }
.z-configurator .cfg-slot__number { width: 40px; height: 40px; color: var(--z-navy); background: var(--z-navy-soft); border: 1px solid #dce0f3; }
.z-configurator .cfg-slot__heading > strong { color: var(--z-ink); font-size: 17px; }
.z-configurator .cfg-slot__tag { padding: 4px 8px; border-radius: 6px; background: var(--z-page); color: var(--z-muted); }
.z-configurator .cfg-slot__arrow { color: var(--z-navy); }
.z-configurator .cfg-slot__content { padding: 0 16px 18px; }
.z-configurator .cfg-options { gap: 10px; }
.z-configurator .cfg-option { grid-template-columns: 20px 72px minmax(0, 1fr) auto; gap: 12px; padding: 14px; border-color: var(--z-line); border-radius: 10px; }
.z-configurator .cfg-option__image { width: 72px; height: 72px; border: 1px solid var(--z-line-soft); }
.z-configurator .cfg-option__body > strong { font-size: 14px; font-weight: 650; color: var(--z-ink); }
.z-configurator .cfg-option__body > span { font-size: 12px; }
.z-configurator .cfg-option__price { max-width: 180px; color: var(--z-navy); font-size: 15px; font-variant-numeric: tabular-nums; }
.z-configurator .cfg-option input { width: 20px; height: 20px; accent-color: var(--z-navy); }
.z-configurator .cfg-option:has(input:checked) { border-color: var(--z-navy); background: var(--z-navy-soft); box-shadow: inset 0 0 0 1px var(--z-navy); }
.z-configurator .cfg-option:has(input:disabled) { background: var(--z-page); }
.z-configurator .cfg-option:has(input:disabled) .cfg-option__stock { color: #a52b22; }
.z-configurator .cfg-option--none { display: flex; min-height: 48px; padding: 10px 14px; background: #fff; }
.z-configurator .cfg-option--none:has(input:checked) { background: #fff; border-color: var(--z-line-strong); box-shadow: none; }
.z-configurator .cfg-search input, .z-configurator .cfg-slot__footer input { min-height: 46px; border-color: var(--z-line-strong); border-radius: 9px; }
.z-configurator .cfg-search .z-btn { min-height: 46px; }
.z-configurator .cfg-slot__footer { padding-top: 14px; margin-top: 14px; }
.z-configurator .cfg-slot__footer a, .z-configurator .cfg-pagination a { display: inline-flex; align-items: center; min-height: 44px; color: var(--z-navy); text-underline-offset: 4px; }
.z-configurator .cfg-slot.has-finding { border-color: #b45319; }
.z-configurator .cfg-slot.has-finding .cfg-slot__number { background: #fff5e9; border-color: #efd2b7; color: #89400d; }
.z-configurator .cfg-slot__empty { padding: 22px 16px; margin-block: 16px 0; border: 1px dashed var(--z-line-strong); border-radius: 9px; color: var(--z-muted); background: var(--z-page); }
.z-configurator .cfg-summary { top: 24px; overflow: clip; border-color: var(--z-line); border-radius: 14px; }
.z-configurator .cfg-summary__content { padding: 22px; }
.z-configurator .cfg-summary h2 { display: flex; align-items: center; gap: 10px; padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid var(--z-line); font-size: 18px; color: var(--z-ink); }
.z-configurator .cfg-summary h2 svg { color: var(--z-blue); flex: none; }
.z-configurator .cfg-status { padding: 12px; font-size: 13px; }
.z-configurator .cfg-status.is-ok { color: var(--z-green-strong); }
.z-configurator .cfg-chosen li { padding-block: 14px; }
.z-configurator .cfg-chosen__slot { color: var(--z-blue-strong); font-size: 12px; font-weight: 650; }
.z-configurator .cfg-chosen__name { line-height: 1.5; }
.z-configurator .cfg-chosen__price { font-variant-numeric: tabular-nums; }
.z-configurator .cfg-summary__empty { min-height: 92px; display: flex; align-items: center; padding: 18px 0; margin-block: 0; }
.z-configurator .cfg-summary__bar { padding: 20px 22px 22px; background: #fbfcfe; }
.z-configurator .cfg-total { gap: 6px; }
.z-configurator .cfg-total > strong { color: var(--z-navy); font-size: 25px; letter-spacing: -.025em; font-variant-numeric: tabular-nums; }
.z-configurator .cfg-add { min-height: 48px; }
.z-configurator__checking { display: none; margin: 0 0 12px; padding: 10px 12px; border-radius: 8px; background: var(--z-blue-soft); color: var(--z-blue-strong); font-size: 13px; }
.z-configurator [aria-busy="true"] .z-configurator__checking { display: block; }
.z-configurator .cfg-network { border-color: #efc4be; background: #fff2f0; color: #a4261c; }
.z-configurator .cfg-templates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.z-configurator .cfg-template { padding: 28px; border-top: 3px solid var(--z-blue); }
.z-configurator .cfg-template h2 { font-size: 23px; line-height: 1.35; }
.z-configurator .cfg-template__count { color: var(--z-blue-strong); background: var(--z-blue-soft); }
.z-configurator .cfg-template .z-btn { min-height: 48px; }
.z-configurator .cfg-empty { padding: 48px 24px; border-radius: 14px; }
.z-configurator .cfg-empty__mark { border-radius: 12px; color: var(--z-blue-strong); background: var(--z-blue-soft); }
.z-body .z-configurator__cart { background: var(--z-navy-soft); border-color: #d9def2; border-radius: var(--z-radius); }
.z-configurator__cart h3 { display: flex; align-items: flex-start; gap: 10px; color: var(--z-navy); }
.z-configurator__cart h3 svg { flex: none; }

.z-body .qv-backdrop { background: rgb(20 25 51 / 58%); }
.z-body .z-quickview { width: min(960px, 100%); max-height: min(820px, calc(100dvh - 48px)); border: 1px solid var(--z-line); border-radius: 16px; background: #fff; color: var(--z-text); }
.z-quickview .qv-head { padding: 18px 24px; border-color: var(--z-line); gap: 16px; }
.z-quickview .qv-head h2 { font-size: 20px; line-height: 1.4; font-weight: 650; color: var(--z-ink); overflow-wrap: anywhere; max-height: 5.6em; overflow: auto; }
.z-quickview .qv-close { border: 1px solid var(--z-line); border-radius: 9px; color: var(--z-navy); }
.z-quickview .qv-close:hover { background: var(--z-navy-soft); }
.z-quickview .qv-main { padding: 24px; gap: 28px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); overflow-y: auto; }
.z-quickview .qv-image { max-height: 400px; object-fit: contain; background: #fff; border: 1px solid var(--z-line-soft); border-radius: var(--z-radius); }
.z-quickview .qv-thumbs button { min-height: 62px; border-color: var(--z-line); cursor: pointer; }
.z-quickview .qv-thumbs button[aria-pressed="true"] { border-color: var(--z-navy); box-shadow: inset 0 0 0 1px var(--z-navy); }
.z-quickview .qv-price { gap: 6px 12px; margin-bottom: 14px; }
.z-quickview .qv-price strong { color: var(--z-navy); font-size: 28px; line-height: 1.3; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.z-quickview .qv-price del { color: var(--z-muted); }
.z-quickview .qv-stock { align-self: start; padding: 5px 10px; border-radius: 6px; background: var(--z-page); color: var(--z-muted); font-size: 13px; }
.z-quickview .qv-stock.is-available { color: var(--z-green-strong); background: #edf8f0; }
.z-quickview .qv-description { flex: none; max-height: 200px; overflow-y: auto; margin-block: 10px 22px; color: var(--z-muted); font-size: 14px; overflow-wrap: anywhere; }
.z-quickview .qv-buy-row { margin-top: 0; gap: 10px; }
.z-quickview .qv-buy-row input { width: 78px; flex: none; border-color: var(--z-line-strong); color: var(--z-ink); background: #fff; }
.z-quickview .qv-buy { flex: 1; min-height: 48px; }
.z-quickview__details { display: inline-flex; align-items: center; align-self: start; min-height: 44px; margin-top: 12px; color: var(--z-navy); font-size: 14px; font-weight: 600; text-underline-offset: 4px; }
.z-quickview .qv-message { margin-block: 8px 0; font-size: 13px; color: var(--z-navy); overflow-wrap: anywhere; }
.z-quickview .qv-message:empty { display: none; }
.z-quickview .qv-no-image { min-height: 260px; margin: 0; border: 1px dashed var(--z-line-strong); border-radius: var(--z-radius); color: var(--z-muted); background: var(--z-page); }

.z-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; overflow: clip; border: 1px solid var(--z-line); border-radius: 16px; background: #fff; color: var(--z-text); }
.z-feature__copy { min-width: 0; padding: 36px; }
.z-feature__copy h2 { margin: 0 0 14px; font-size: clamp(24px, 2.5vw, 34px); line-height: 1.2; letter-spacing: -.025em; color: var(--z-navy); overflow-wrap: anywhere; }
.z-feature__copy > p:not(.z-feature__kicker) { margin: 0 0 24px; max-width: 60ch; color: var(--z-muted); line-height: 1.7; overflow-wrap: anywhere; }
.z-feature__copy .z-btn { max-width: 100%; min-height: 48px; white-space: normal; text-align: center; }
.z-feature__kicker { margin: 0 0 14px; color: var(--z-blue-strong); font-size: 13px; font-weight: 650; }
.z-feature > img, .z-feature > video, .z-feature__visual > img, .z-feature__visual > video { display: block; width: 100%; height: auto; max-height: 460px; aspect-ratio: 4 / 3; object-fit: contain; background: #fff; }
.z-feature__visual { min-width: 0; }
.z-feature--text { grid-template-columns: minmax(0, 1fr); }
.z-feature--text .z-feature__copy { max-width: 900px; }
.z-collection { padding: 32px; border: 1px solid var(--z-line); border-left: 4px solid var(--z-blue); border-radius: var(--z-radius); background: #fff; }
.z-collection h2 { margin: 0 0 12px; font-size: 25px; line-height: 1.3; color: var(--z-navy); overflow-wrap: anywhere; }
.z-collection p { margin: 0 0 20px; max-width: 70ch; color: var(--z-muted); overflow-wrap: anywhere; }
.z-richtext { padding: 32px; border: 1px solid var(--z-line); border-radius: var(--z-radius); background: #fff; overflow-wrap: anywhere; }
.z-richtext > :first-child { margin-top: 0; }
.z-richtext > :last-child { margin-bottom: 0; }
.z-richtext img, .z-richtext video { max-width: 100%; height: auto; }
.z-richtext pre { overflow-x: auto; }
.z-richtext table { display: block; max-width: 100%; overflow-x: auto; }
.z-block-grid { padding: 0; margin: 0; }
.z-block-grid__head { display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; align-items: center; margin-bottom: 22px; }
.z-block-grid__head h2 { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.z-block-grid .z-grid { align-items: stretch; }

.z-credit, .z-personalization { min-width: 0; margin: 20px 0; padding: 20px; }
.z-credit legend, .z-personalization legend { padding: 0 8px; color: var(--z-navy); font-size: 16px; font-weight: 650; }
.z-credit legend svg { margin-right: 8px; vertical-align: middle; color: var(--z-blue); }
.z-credit small { display: block; margin-top: 12px; font-size: 13px; line-height: 1.7; color: var(--z-muted); }
.z-credit small a { display: inline-flex; align-items: center; min-height: 44px; color: var(--z-navy); text-underline-offset: 4px; }
.z-personalization .z-field + .z-field { margin-top: 16px; }
.z-credit .z-field input, .z-personalization .z-field input { width: 100%; min-height: 46px; }
.z-bundle { margin: 24px 0; padding: 22px; border: 1px solid var(--z-line); border-radius: var(--z-radius); background: #fff; }
.z-bundle h2 { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; font-size: 19px; color: var(--z-ink); }
.z-bundle h2 svg { color: var(--z-blue); flex: none; }
.z-bundle ul { margin: 0; padding: 0; list-style: none; }
.z-bundle li { display: flex; justify-content: space-between; gap: 16px; padding-block: 12px; border-top: 1px solid var(--z-line-soft); font-size: 14px; }
.z-bundle li span { min-width: 0; overflow-wrap: anywhere; }
.z-bundle li strong { flex: none; color: var(--z-navy); font-weight: 600; }
.z-bundle > p { margin: 14px 0 0; color: var(--z-muted); font-size: 13px; }
.z-wishitems { margin-block: 24px; min-width: 0; }
.z-wishitem > a { color: inherit; text-decoration: none; }
.z-wishitem .z-card__media { aspect-ratio: 1; }
.z-wishitem__meta { display: grid; gap: 12px; padding: 16px; }
.z-wishitem__meta b { font-size: 15px; line-height: 1.45; color: var(--z-ink); overflow-wrap: anywhere; }
.z-wishitem__meta > span { color: var(--z-navy); font-size: 18px; font-weight: 700; font-variant-numeric: tabular-nums; }
.z-wishitem__note { margin: 0; padding: 0 16px 16px; color: var(--z-muted); font-size: 13px; overflow-wrap: anywhere; }
.z-wishitem > form, .z-wishitem > button, .z-wishitem__quick { margin: 0 16px 12px; }
.z-wishitem form .z-btn { width: 100%; min-height: 44px; }
.z-wishitem__buy { margin-top: auto; }

@media (max-width: 1023px) and (min-width: 701px) {
    .z-configurator .cfg-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; }
    .z-configurator .cfg-option { grid-template-columns: 20px 56px minmax(0, 1fr); }
    .z-configurator .cfg-option__image { width: 56px; height: 56px; }
    .z-configurator .cfg-option__price { grid-column: 3; }
}
@media (max-width: 700px) {
    .z-configurator { padding-block: 20px 40px; }
    .z-configurator .cfg-head { margin-bottom: 22px; }
    .z-configurator .cfg-back { margin-bottom: 4px; }
    .z-configurator .cfg-head h1 { font-size: 27px; }
    .z-configurator .cfg-layout { display: flex; gap: 22px; }
    .z-configurator .cfg-slot > summary { padding: 16px; gap: 10px; }
    .z-configurator .cfg-slot__tag { margin-left: 50px; margin-top: 0; padding: 2px 6px; }
    .z-configurator .cfg-slot__content { padding: 0 12px 16px; }
    .z-configurator .cfg-option { grid-template-columns: 20px 56px minmax(0, 1fr); padding: 12px; gap: 8px 10px; }
    .z-configurator .cfg-option__image { width: 56px; height: 56px; }
    .z-configurator .cfg-option__body > strong { font-size: 13px; }
    .z-configurator .cfg-option__price { grid-column: 3; max-width: 100%; font-size: 15px; }
    .z-configurator .cfg-option--none { display: flex; }
    .z-configurator .cfg-templates { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .z-configurator .cfg-template { padding: 22px; }
    .z-configurator .cfg-summary { overflow: visible; }
    .z-configurator .cfg-summary__content { padding: 20px; }
    .z-configurator .cfg-summary__bar { z-index: 40; gap: 12px; padding: 10px max(16px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); background: #fff; }
    .z-configurator .cfg-total { gap: 0; }
    .z-configurator .cfg-total > span { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; line-height: 1.2; font-size: 12px; }
    .z-configurator .cfg-total > strong { font-size: 19px; line-height: 1.3; }
    .z-configurator .cfg-summary-link { display: inline-flex; align-items: center; min-height: 44px; margin: 0; color: var(--z-navy); font-size: 12px; }
    .z-configurator .cfg-add { padding: 12px 16px; max-width: 46%; min-height: 48px; font-size: 14px; }
    .z-configurator .cfg-summary h2 { scroll-margin-top: 24px; }
    .z-configurator__cart > div { flex-basis: 100%; }
    .z-body:has(.z-configurator [data-cfg-build]) { padding-bottom: 110px; }
    .z-body .qv-backdrop { padding: 0; }
    .z-body .z-quickview { width: 100%; height: 100dvh; max-height: 100dvh; border: 0; border-radius: 0; }
    .z-quickview .qv-head { padding: 14px 16px; align-items: flex-start; gap: 12px; }
    .z-quickview .qv-head h2 { font-size: 17px; max-height: 5.6em; }
    .z-quickview .qv-main { display: flex; flex-direction: column; gap: 22px; padding: 16px 16px calc(20px + env(safe-area-inset-bottom)); }
    .z-quickview .qv-gallery, .z-quickview .qv-info { flex: none; }
    .z-quickview .qv-image { height: 230px; max-height: 230px; aspect-ratio: auto; }
    .z-quickview .qv-price strong { font-size: 27px; }
    .z-quickview .qv-description { max-height: 160px; margin-bottom: 18px; }
    .z-quickview .qv-no-image { min-height: 200px; }
    .z-feature { grid-template-columns: minmax(0, 1fr); border-radius: var(--z-radius); }
    .z-feature__copy { padding: 24px; }
    .z-feature__copy h2 { font-size: 26px; }
    .z-feature > img, .z-feature > video, .z-feature__visual > img, .z-feature__visual > video { max-height: 300px; aspect-ratio: 4 / 3; }
    .z-feature--hero .z-feature__visual { order: -1; }
    .z-collection, .z-richtext { padding: 24px; }
    .z-collection h2 { font-size: 24px; }
    .z-block-grid__head { align-items: flex-start; }
    .z-credit, .z-personalization, .z-bundle { padding: 18px; }
    .z-wishitem__meta { padding: 12px; }
    .z-wishitem__meta b { font-size: 13px; }
    .z-wishitem__meta > span { font-size: 16px; overflow-wrap: anywhere; }
    .z-wishitem > form, .z-wishitem > button, .z-wishitem__quick { margin-inline: 12px; }
    .z-wishitem__note { padding-inline: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .z-configurator *, .z-quickview *, .z-feature * { animation: none; transition: none; scroll-behavior: auto; }
}
/* ===== /zvfallback1 ===== */
/* ===== zvcheckout1 ===== */
.z-cartbar, .z-cartbar[hidden], .z-co-fold__toggle, .z-steps__fraction, .z-co__mobile-trust { display: none; }
.z-co-fold { min-width: 0; margin: 0; }
.z-co-fold__content { min-width: 0; }
@media (max-width: 900px) {
    .z-cartbar:not([hidden]) {
        position: fixed; inset: auto 0 0; z-index: 34;
        display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 6px 12px;
        padding: 12px max(16px, env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
        border-top: 1px solid var(--z-line); background: #fff; box-shadow: 0 -6px 24px rgba(22, 28, 64, .07);
    }
    .z-cartbar__amount { display: grid; min-width: 0; gap: 2px; }
    .z-cartbar__amount > span { color: var(--z-muted); font-size: 12px; }
    .z-cartbar__amount > strong { color: var(--z-ink); font-size: 19px; line-height: 1.25; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
    .z-cartbar .z-btn { min-height: 48px; padding-inline: 16px; }
    .z-cartbar__shipping { grid-column: 1 / -1; overflow: hidden; margin: 0; color: var(--z-blue-strong); font-size: 12px; white-space: nowrap; text-overflow: ellipsis; }
    body:has([data-z-cartbar][data-ready]) { padding-bottom: calc(130px + env(safe-area-inset-bottom)); }
    .z-co__aside:has([data-z-co-fold][data-ready]) { order: -1; }
    .z-co-fold[data-ready] { border: 1px solid var(--z-line); border-radius: var(--z-radius); background: #fff; }
    .z-co-fold[data-ready] > .z-co-fold__toggle {
        display: flex; align-items: center; gap: 10px; min-height: 72px; padding: 14px 16px;
        border-radius: var(--z-radius); color: var(--z-navy); list-style: none; cursor: pointer;
    }
    .z-co-fold__toggle::-webkit-details-marker { display: none; }
    .z-co-fold__caption { display: grid; flex: 1; min-width: 0; gap: 2px; font-size: 13px; font-weight: 600; }
    .z-co-fold__caption small { color: var(--z-muted); font-size: 12px; font-weight: 400; }
    .z-co-fold__toggle strong { flex: none; max-width: 45%; color: var(--z-ink); font-size: 16px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
    .z-co-fold__arrow { flex: none; transform: rotate(90deg); }
    .z-co-fold[open] .z-co-fold__arrow { transform: rotate(-90deg); }
    .z-co-fold[data-ready][open] .z-co-fold__content { border-top: 1px solid var(--z-line-soft); }
    .z-co-fold[data-ready] .z-cosum { border: 0; border-radius: 0 0 var(--z-radius) var(--z-radius); }
    .z-co-fold__toggle:focus-visible, .z-cartbar .z-btn:focus-visible { outline: 3px solid var(--z-blue); outline-offset: 3px; }
    .z-co .z-form__row { grid-template-columns: minmax(0, 1fr); }
    .z-co input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), .z-co select, .z-co .z-btn { min-height: 44px; }
    .z-co .z-co__next { min-height: 52px; }
    .z-steps { display: flex; gap: 6px; }
    .z-steps__item { flex: 0 0 auto; }
    .z-steps__item.is-current { flex: 1; min-width: 0; }
    .z-steps__link { min-height: 44px; padding-inline: 10px; gap: 8px; }
    .z-steps__item:not(.is-current) .z-steps__label { display: none; }
    .z-steps__item.is-current .z-steps__num { display: none; }
    .z-steps__fraction { display: inline; flex: none; font-size: 13px; }
    .z-co__mobile-trust { display: flex; align-items: center; justify-content: center; gap: 6px; margin: -4px 0 0; color: var(--z-muted); font-size: 12px; }
    .z-co__actions:has(.z-co__mobile-trust) { display: grid; grid-template-columns: minmax(0, 1fr); }
    .z-co__actions:has(.z-co__mobile-trust) > .z-co__next { order: -2; }
    .z-co__actions > .z-co__mobile-trust { order: -1; }
}
@media (prefers-reduced-motion: reduce) { .z-co-fold__arrow, .z-cartbar .z-btn { transition: none; } }
/* ===== /zvcheckout1 ===== */

/* ===== zvaddrselect2 ===== */
/* Adres formlarında Ülke / İl / İlçe (ödeme adımı teslimat + fatura, hesabım adresleri): üçü de şablonun özel seçim kutusudur (store.css + store.js GEOSELECT,
   `select[data-z-select]`) ve Zirve girdileriyle aynı görünür. Kutunun iç öğelerine burada kural YAZILMAZ: ölçü, çerçeve, odak ve hata görünümü şablonun
   `--z-select-*` değişkenleriyle verilir; Zirve'nin `.z-field__control input` kurallarının (simge için 44px sol boşluk, ikinci çerçeve) kutunun içindeki yazı
   alanına uymasını şablon engeller. Değerler Zirve girdilerinin tarayıcıda ölçülen görünümüdür: 52px yükseklik, 12px köşe, `--z-control-border` çerçeve
   (a11y bloğu; odakta da aynı kalır), odakta 3px lacivert çizgi (3px açıklık) ve 4px lacivert hale, hatada kırmızı çerçeve ve kırmızı hale, 14px iç boşluk, 16px yazı.
   Açılır panelin renkleri store.css belirteçlerinden gelir (Zirve eşlemesi: --paper beyaz, --soft --z-page, --accent --z-blue, --accent-soft --z-blue-soft). */
.z-body {
    --z-select-height: 52px;
    --z-select-radius: 12px;
    --z-select-pad: 14px;
    --z-select-gap: 0;
    --z-select-font-size: 16px;
    --z-select-bg: #fff;
    --z-select-ink: var(--z-ink);
    --z-select-border: var(--z-control-border, var(--z-line-strong));
    --z-select-focus: var(--z-control-border, var(--z-navy));
    --z-select-ring: 0 0 0 4px rgba(43, 52, 132, .12);
    --z-select-outline: 3px solid var(--z-navy);
    --z-select-outline-offset: 3px;
    --z-select-invalid: var(--z-red);
    --z-select-invalid-ring: 0 0 0 4px rgba(216, 57, 31, .12);
    --z-select-panel-shadow: var(--z-shadow-hover);
}
@media (max-width: 900px) {
    /* Dar ödeme sayfasında girdiler 44px'tir (zvcheckout1). Yerel seçim kutuları (dokunmatik cihazda İl / İlçe / Ülke, Fatura türü) `.z-body .z-field__control select`
       (52px) kuralına yeniliyor ve girdilerden 8px yüksek kalıyordu; özel seçim kutusu da aynı 44px'i alır. */
    .z-co { --z-select-height: 44px; }
    .z-body .z-co .z-field__control select { min-height: 44px; }
}
/* ===== /zvaddrselect2 ===== */

/* ===== zvpaytheme1 — kart ödeme sayfası (şablon: public/assets/checkout-bank-form.css + views/checkout-card.php) =====
   Sayfa Zirve düzeninin içinde açılır ve `checkout-card` görünümü Zirve ödeme iskeletini (z-co) kullanır. Şablonun durum ve düğme renkleri `--pay-*` özel özellikleridir;
   şablon koyu mod için bunları `:root` üzerinde değiştirir, Zirve açık temadır (`color-scheme: light`). Burada `body` üzerinde tanımlanır: yakın öğe `:root`'u ve
   şablonun koyu mod bloğunu yener, koyu işletim sistemi ayarında açık sayfada açık pembe hata yazısı çıkmaz. Tüm çiftler beyaz zeminde 4.5:1 ve üstüdür. */
.z-body {
    --pay-danger: #b3321b;
    --pay-danger-bg: #fdecea;
    --pay-ok: #116a35;
    --pay-ok-bg: #e9f7ef;
    --pay-warn: #7a4a00;
    --pay-warn-bg: #fff3df;
    --pay-border: var(--z-control-border, #858b98);
    --pay-primary: var(--z-blue);
    --pay-on-primary: #fff;
    --pay-radius: 16px;
}
.z-co--card .pay-steps { margin: 0 0 22px; }
.z-co--card .pay-steps ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; }
.z-co--card .pay-steps li { min-width: 0; min-height: 52px; padding: 0 14px; gap: 10px; border: 1px solid var(--z-line); border-radius: 14px; background: #fff; color: var(--z-muted); font-size: 14.5px; font-weight: 600; }
.z-co--card .pay-steps li:not(:last-child)::after { content: none; }
.z-co--card .pay-steps li.is-done { color: var(--z-text); }
.z-co--card .pay-steps [aria-current="step"] { border-color: var(--z-navy); color: var(--z-navy); box-shadow: 0 0 0 3px rgba(43, 52, 132, .08); }
.z-co--card .pay-steps__mark { width: 28px; height: 28px; font-size: .8rem; }
.z-co--card .z-co__main { display: block; }
.z-co--card .pay-panel { padding: 24px 26px; border-color: var(--z-line); }
.z-co--card .pay-control input { border-radius: 12px; }
.z-co--card .pay-btn { border-radius: 12px; font-weight: 600; }
.z-co--card .z-co__aside .order-summary { margin: 0; }
@media (max-width: 959px) {
    .z-co--card .pay-steps ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .z-co--card .pay-panel { padding: 20px 16px; }
}
/* ===== /zvpaytheme1 ===== */
