/*! NZ SEPET (2026-09-22) — sepet sayfasi. Logo renkleri: lacivert #003D75 / #00264D, turuncu #FE5C00 / #E04A00. */
.nz-sepet { font-family: 'Poppins', 'Open Sans', Arial, sans-serif; color: #1F2B38; padding-bottom: 30px; }
.nz-sepet *, .nz-sepet *::before, .nz-sepet *::after { box-sizing: border-box; }
.nz-sepet .breadcrumb { background: transparent; padding-left: 0; margin-bottom: 6px; }

/* ---------- adim cubugu */
.nz-adimlar { position: relative; max-width: 760px; margin: 6px auto 22px; padding-top: 4px; }
.nz-adim-tuval { position: absolute; left: 0; top: 4px; width: 100%; height: 42px; pointer-events: none; }
.nz-adimlar ol { position: relative; display: flex; justify-content: space-between; margin: 0; padding: 0; list-style: none; }
.nz-adimlar li { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: 6px; padding-top: 44px; font-size: 12.5px; font-weight: 600; color: #8A97A6; text-align: center; }
.nz-adimlar li.nz-etkin { color: #00264D; font-weight: 800; }
.nz-adimlar li.nz-tamam { color: #003D75; }

/* ---------- uyarilar */
.nz-uyari { position: relative; display: flex; align-items: flex-start; gap: 10px; margin: 0 0 14px; padding: 12px 40px 12px 14px; border-radius: 12px; font-size: 14px; line-height: 1.5; border: 1px solid; }
.nz-uyari > .fa { font-size: 18px; margin-top: 1px; }
.nz-uyari .close { position: absolute; top: 9px; right: 12px; opacity: .5; }
.nz-uyari-bilgi { background: #F2F7FC; border-color: #BFD3EA; color: #00264D; }
.nz-uyari-ok { background: #EEFAF3; border-color: #BDE5CD; color: #1d7a4c; }
.nz-uyari-hata { background: #FDF1EF; border-color: #F3C7C2; color: #8E1B1B; }
.nz-uyari a { font-weight: 700; text-decoration: underline; }

/* ---------- baslik */
.nz-sepet-bas { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin: 0 0 16px; }
.nz-sepet-bas h1 { margin: 0; font-size: 28px; font-weight: 800; color: #00264D; }
.nz-sepet-sayi { padding: 3px 12px; border-radius: 14px; background: #FFF1E8; color: #C24200; font-size: 13px; font-weight: 700; }

/* ---------- duzen */
.nz-sepet-duzen { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 22px; align-items: start; }
.nz-sepet-sol { min-width: 0; }

/* ---------- kalemler */
.nz-kalemler { display: flex; flex-direction: column; gap: 12px; }
.nz-kalem {
  display: grid; grid-template-columns: 96px minmax(0, 1fr) auto auto; gap: 16px; align-items: center;
  padding: 14px; border: 1px solid #E3E8EF; border-radius: 16px; background: #fff;
  box-shadow: 0 1px 3px rgba(0, 38, 77, .05); transition: box-shadow .15s ease, border-color .15s ease, opacity .25s ease, transform .25s ease;
}
.nz-kalem:hover { border-color: #C9D5E2; box-shadow: 0 8px 22px rgba(0, 38, 77, .08); }
.nz-kalem.nz-siliniyor { opacity: .35; transform: scale(.98); pointer-events: none; }
.nz-kalem.nz-stoksuz { border-color: #F3C7C2; background: #FFFBFA; }
.nz-kalem-gorsel { display: flex; align-items: center; justify-content: center; width: 96px; height: 96px; border-radius: 12px; background: #F8FAFC; overflow: hidden; color: #B8C0C9; font-size: 30px; }
.nz-kalem-gorsel img { max-width: 100%; max-height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.nz-kalem-bilgi { min-width: 0; }
.nz-kalem-ad-sar { line-height: 1.35; }
.nz-kalem-ad { font-size: 15.5px; font-weight: 700; color: #00264D !important; text-decoration: none !important; }
a.nz-kalem-ad:hover { color: #FE5C00 !important; }
.nz-kalem-kod { margin-top: 3px; font-size: 12px; color: #8A97A6; }
.nz-kalem-secenek { margin: 6px 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 12.5px; color: #4A5664; }
.nz-kalem-secenek b { color: #1F2B38; }
.nz-kalem-not { margin-top: 5px; font-size: 12.5px; color: #4A5664; }
.nz-kalem-stok { margin-top: 6px; font-size: 12.5px; font-weight: 700; color: #B42020; }
.nz-kalem .nz-iskonto-etiket { margin-left: 6px; }
.nz-kalem-islem { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.nz-adet { display: inline-flex; align-items: center; border: 1.5px solid #D5DEE8; border-radius: 12px; background: #fff; overflow: hidden; }
.nz-adet button { width: 36px; height: 38px; border: 0; background: #F4F7FA; color: #003D75; font-size: 12px; cursor: pointer; transition: background .15s; }
.nz-adet button:hover, .nz-adet button:focus-visible { background: #003D75; color: #fff; outline: 0; }
.nz-adet input { width: 46px; height: 38px; border: 0; text-align: center; font-size: 15px; font-weight: 700; color: #00264D; -moz-appearance: textfield; }
.nz-adet input:focus { outline: 0; background: #FFF8F3; }
.nz-kalem-sil { border: 0; background: none; padding: 2px 4px; color: #8A97A6; font-size: 12.5px; font-weight: 600; cursor: pointer; }
.nz-kalem-sil:hover, .nz-kalem-sil:focus-visible { color: #B42020; outline: 0; }
.nz-kalem-fiyat { min-width: 110px; text-align: right; }
.nz-kalem-fiyat b { display: block; font-size: 18px; font-weight: 800; color: #00264D; white-space: nowrap; }
.nz-kalem-fiyat small { display: block; margin-top: 2px; font-size: 12px; color: #8A97A6; white-space: nowrap; }
.nz-kalem-cek .nz-kalem-gorsel { color: #FE5C00; background: #FFF1E8; }

.nz-guncelle-sar { display: flex; align-items: center; gap: 10px; margin-top: 10px; }
.nz-guncelle { border: 1px solid #D5DEE8; border-radius: 10px; background: #fff; padding: 8px 14px; font-weight: 700; font-size: 13px; color: #003D75; }
.nz-guncelle:hover { border-color: #003D75; }
.nz-js .nz-guncelle { display: none; }
.nz-guncelle-not { font-size: 12.5px; color: #8A97A6; }

/* ---------- ek: kupon / hediye ceki / kargo hesaplama */
.nz-sepet-ek { margin-top: 16px; border: 1px solid #E3E8EF; border-radius: 16px; background: #fff; overflow: hidden; }
.nz-sepet-ek > summary { display: flex; align-items: center; gap: 12px; padding: 14px 16px; cursor: pointer; list-style: none; }
.nz-sepet-ek > summary::-webkit-details-marker { display: none; }
.nz-sepet-ek > summary > .fa { flex: 0 0 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: #FFF1E8; color: #FE5C00; font-size: 16px; }
.nz-sepet-ek > summary b { display: block; color: #00264D; font-size: 14.5px; }
.nz-sepet-ek > summary small { display: block; color: #8A97A6; font-size: 12px; }
.nz-sepet-ek > summary::after { content: '\f107'; font-family: FontAwesome; margin-left: auto; color: #003D75; font-size: 18px; transition: transform .2s; }
.nz-sepet-ek[open] > summary::after { transform: rotate(180deg); }
.nz-sepet-ek .panel-group { margin: 0; padding: 0 16px 14px; }
.nz-sepet-ek .panel { border: 1px solid #E3E8EF; border-radius: 12px !important; box-shadow: none; margin-top: 8px !important; }
.nz-sepet-ek .panel-heading { background: #F8FAFC; border-radius: 12px; border: 0; }
.nz-sepet-ek .panel-title a { color: #00264D; font-weight: 700; font-size: 13.5px; }
.nz-sepet-ek .form-control { height: 40px; border-radius: 10px; }
.nz-sepet-ek .btn-primary { background: #003D75; border-color: #003D75; border-radius: 10px; }

.nz-devam { display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; font-weight: 700; color: #003D75 !important; text-decoration: none !important; }
.nz-devam:hover { color: #FE5C00 !important; }

/* ---------- ozet */
.nz-sepet-sag { position: sticky; top: 16px; }
.nz-ozet { padding: 20px; border-radius: 18px; background: #fff; border: 1px solid #E3E8EF; box-shadow: 0 14px 36px rgba(0, 38, 77, .10); }
.nz-ozet h2 { margin: 0 0 12px; font-size: 18px; font-weight: 800; color: #00264D; }
.nz-toplamlar { margin: 0; }
.nz-toplam-satir { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; font-size: 14px; border-bottom: 1px dashed #E3E8EF; }
.nz-toplam-satir dt { font-weight: 600; color: #4A5664; }
.nz-toplam-satir dd { margin: 0; font-weight: 700; color: #1F2B38; white-space: nowrap; }
.nz-genel-toplam { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin: 12px 0 4px; padding: 12px 14px; border-radius: 12px; background: linear-gradient(135deg, #0A4A8A, #003D75 55%, #00264D); color: #fff; }
.nz-genel-toplam span { font-weight: 600; opacity: .9; }
.nz-genel-toplam b { font-size: 22px; font-weight: 800; white-space: nowrap; }
.nz-kdv-not { margin: 8px 0 14px; font-size: 11.5px; line-height: 1.5; color: #8A97A6; }
.nz-odeme-dugme {
  display: flex; align-items: center; justify-content: center; gap: 8px; height: 54px; border-radius: 14px;
  background: #FE5C00; color: #fff !important; font-size: 16.5px; font-weight: 800; text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(254, 92, 0, .35); transition: background .15s, transform .15s, box-shadow .15s;
}
.nz-odeme-dugme:hover, .nz-odeme-dugme:focus-visible { background: #E04A00; transform: translateY(-1px); box-shadow: 0 14px 30px rgba(254, 92, 0, .42); outline: 0; }
.nz-guven { margin: 16px 0 0; padding: 14px 0 0; border-top: 1px solid #EEF1F4; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.nz-guven li { display: flex; align-items: center; gap: 10px; font-size: 12.5px; color: #4A5664; }
.nz-guven .fa { flex: 0 0 26px; height: 26px; border-radius: 8px; display: flex; align-items: center; justify-content: center; background: #EEF3F9; color: #003D75; }

/* iskonto bilgi kutusu bu sayfada iki kolonu kapsar */
.nz-sepet .nz-iskonto-bilgi { margin: 0 0 14px; }

/* ---------- bos sepet */
.nz-bos-kart { display: flex; align-items: center; margin: 6px 0 22px; padding: 28px 32px; border: 1px solid #E3E8EF; border-radius: 22px; background: #fff; box-shadow: 0 14px 36px rgba(0, 38, 77, .08); overflow: hidden; }
.nz-bos-sahne { flex: 0 0 340px; margin-right: 32px; padding: 20px 10px; border-radius: 18px; background: radial-gradient(circle at 50% 40%, #FFFFFF, #EEF3F9 70%); }
.nz-bos-sahne canvas { display: block; margin: 0 auto; max-width: 100%; }
.nz-bos-metin { flex: 1 1 auto; min-width: 0; }
.nz-bos-ust { display: inline-block; padding: 3px 12px; border-radius: 14px; background: #FFF1E8; color: #C24200; font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.nz-bos-metin h1 { text-align: inherit; text-transform: none; margin: 10px 0 8px; font-size: 30px; font-weight: 800; color: #00264D; }
.nz-bos-metin > p { max-width: 520px; margin: 0; font-size: 15px; line-height: 1.6; color: #4A5664; }
.nz-bos-dugmeler { display: flex; flex-wrap: wrap; align-items: center; margin-top: 20px; }
.nz-bos-dugmeler .nz-bos-ana { display: inline-flex; height: 52px; padding: 0 26px; margin: 0 12px 10px 0; }
.nz-bos-ikinci { display: inline-flex; align-items: center; height: 52px; padding: 0 20px; margin: 0 0 10px; border: 1.5px solid #003D75; border-radius: 14px; color: #003D75 !important; font-weight: 700; text-decoration: none !important; transition: background .15s, color .15s; }
.nz-bos-ikinci .fa { margin-right: 8px; }
.nz-bos-ikinci:hover, .nz-bos-ikinci:focus-visible { background: #003D75; color: #fff !important; outline: 0; }
.nz-bos-not { display: flex; align-items: flex-start; max-width: 520px; margin: 4px 0 0; font-size: 12.5px; line-height: 1.5; color: #8A97A6; }
.nz-bos-not .fa { margin: 2px 7px 0 0; color: #003D75; }
.nz-bos-kat h2 { text-transform: none; text-align: left; margin: 0 0 12px; font-size: 18px; font-weight: 800; color: #00264D; }
.nz-bos-kat ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); grid-gap: 10px; gap: 10px; margin: 0 0 22px; padding: 0; list-style: none; }
.nz-bos-kat a { display: flex; align-items: center; justify-content: space-between; height: 100%; min-height: 54px; padding: 10px 16px; border: 1px solid #E3E8EF; border-left: 4px solid #C8733A; border-radius: 14px; background: #fff; color: #00264D !important; font-size: 14px; font-weight: 700; text-decoration: none !important; transition: border-color .15s, box-shadow .15s, transform .15s; }
.nz-bos-kat a:hover, .nz-bos-kat a:focus-visible { border-color: #FE5C00; box-shadow: 0 8px 20px rgba(0, 38, 77, .08); transform: translateY(-1px); outline: 0; }
.nz-bos-kat a .fa { margin-left: 10px; color: #FE5C00; font-size: 18px; }
.nz-bos-guven { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-gap: 10px; gap: 10px; margin: 0; padding: 0; list-style: none; }
.nz-bos-guven li { display: flex; align-items: center; padding: 14px; border-radius: 14px; background: #F4F7FA; font-size: 12px; color: #4A5664; line-height: 1.4; }
.nz-bos-guven .fa { flex: 0 0 38px; height: 38px; margin-right: 10px; border-radius: 11px; display: flex; align-items: center; justify-content: center; background: #fff; color: #003D75; font-size: 17px; box-shadow: 0 2px 6px rgba(0, 38, 77, .08); }
.nz-bos-guven b { display: block; font-size: 13px; color: #00264D; }
@media (max-width: 991px) { .nz-bos-guven { grid-template-columns: repeat(2, minmax(0, 1fr)); } .nz-bos-sahne { flex-basis: 280px; margin-right: 22px; } }
@media (max-width: 700px) {
  .nz-bos-kart { flex-direction: column; padding: 18px; text-align: center; }
  .nz-bos-sahne { flex: 0 0 auto; width: 100%; margin: 0 0 16px; padding: 10px; }
  .nz-bos-metin h1 { font-size: 24px; }
  .nz-bos-metin > p, .nz-bos-not { margin-left: auto; margin-right: auto; }
  .nz-bos-dugmeler { flex-direction: column; align-items: stretch; }
  .nz-bos-dugmeler .nz-bos-ana, .nz-bos-ikinci { justify-content: center; margin-right: 0; }
  .nz-bos-not { text-align: left; }
}
@media (max-width: 520px) { .nz-bos-kat ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } .nz-bos-kat a { padding: 10px 12px; font-size: 13px; } }
@media (max-width: 360px) { .nz-bos-guven, .nz-bos-kat ul { grid-template-columns: minmax(0, 1fr); } }

/* ---------- mobil cubuk */
.nz-mobil-cubuk { display: none; }
@media (max-width: 991px) {
  .nz-sepet-duzen { grid-template-columns: minmax(0, 1fr); }
  .nz-sepet-sag { position: static; }
}
@media (max-width: 640px) {
  .nz-sepet-bas h1 { font-size: 23px; }
  .nz-kalem { grid-template-columns: 72px minmax(0, 1fr) auto; grid-template-areas: "g b b" "i i f"; gap: 12px; padding: 12px; }
  .nz-kalem-gorsel { grid-area: g; width: 72px; height: 72px; }
  .nz-kalem-bilgi { grid-area: b; }
  .nz-kalem-islem { grid-area: i; flex-direction: row; align-items: center; justify-content: flex-start; padding-top: 10px; border-top: 1px dashed #E3E8EF; }
  .nz-kalem-fiyat { grid-area: f; align-self: end; min-width: 0; padding-top: 10px; border-top: 1px dashed #E3E8EF; }
  .nz-kalem-sil { margin-left: 4px; }
  .nz-kalem-ad { font-size: 14.5px; }
  .nz-kalem-fiyat b { font-size: 17px; }
  .nz-adimlar li { font-size: 11px; }
  .nz-mobil-cubuk {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; position: fixed; left: 0; right: 0; bottom: 45px; z-index: 900;
    padding: 10px 16px; background: #fff; border-top: 1px solid #E3E8EF; box-shadow: 0 -8px 24px rgba(0, 38, 77, .12);
    transform: translateY(0); transition: transform .25s ease;
  }
  .nz-mobil-cubuk.nz-gizli { transform: translateY(160%); }
  .nz-mobil-cubuk small { display: block; font-size: 11px; color: #8A97A6; }
  .nz-mobil-cubuk b { font-size: 18px; color: #00264D; }
  .nz-mobil-cubuk a { display: inline-flex; align-items: center; gap: 6px; height: 44px; padding: 0 18px; border-radius: 12px; background: #FE5C00; color: #fff !important; font-weight: 800; text-decoration: none !important; }
  .nz-sepet { padding-bottom: 90px; }
  body.nz-cubuk-acik .list-group > .btn-success[style*="fixed"] { bottom: calc(62px + env(safe-area-inset-bottom, 0px) + 80px) !important; }
}
@media (prefers-reduced-motion: reduce) { .nz-kalem, .nz-odeme-dugme, .nz-mobil-cubuk { transition: none; } }
@media print { .nz-adimlar, .nz-kalem-islem, .nz-sepet-ek, .nz-odeme-dugme, .nz-mobil-cubuk, .nz-devam { display: none !important; } }

/* ---------- canli adet guncelleme (nz-sepet.js v2) */
.nz-kalem-fiyat.nz-parla b { -webkit-animation: nzParla .6s ease; animation: nzParla .6s ease; }
@-webkit-keyframes nzParla { 0% { color: #FE5C00; -webkit-transform: scale(1.06); } 100% { color: #00264D; -webkit-transform: none; } }
@keyframes nzParla { 0% { color: #FE5C00; transform: scale(1.06); } 100% { color: #00264D; transform: none; } }
.nz-kalem-fiyat b { transform-origin: right center; }
.nz-sepet.nz-hesaplaniyor .nz-toplamlar, .nz-sepet.nz-hesaplaniyor .nz-genel-toplam b, .nz-sepet.nz-hesaplaniyor .nz-mobil-cubuk b { opacity: .45; transition: opacity .15s; }
.nz-sepet.nz-hesaplaniyor .nz-genel-toplam { background-image: linear-gradient(110deg, #0A4A8A 30%, #1A5C9E 50%, #0A4A8A 70%); background-size: 200% 100%; -webkit-animation: nzHesap 1s linear infinite; animation: nzHesap 1s linear infinite; }
@-webkit-keyframes nzHesap { from { background-position: 100% 0; } to { background-position: -100% 0; } }
@keyframes nzHesap { from { background-position: 100% 0; } to { background-position: -100% 0; } }
@media (prefers-reduced-motion: reduce) { .nz-kalem-fiyat.nz-parla b, .nz-sepet.nz-hesaplaniyor .nz-genel-toplam { -webkit-animation: none; animation: none; } }
/* kaldir: satir kayarak kapanir (nz-sepet.js v2) */
.nz-kalem.nz-kapaniyor { overflow: hidden; height: 0 !important; margin-top: -12px; padding-top: 0; padding-bottom: 0; border-width: 0; opacity: 0; transform: translateX(30px); transition: height .3s ease, margin .3s ease, padding .3s ease, opacity .2s ease, transform .3s ease; }
@media (prefers-reduced-motion: reduce) { .nz-kalem.nz-kapaniyor { transition: none; } }
