/* Kaliper urun detayi (Views/Products/Kaliper). 2026-10-16c: kullanicinin onayladigi eskiz
   (Setup/KALIPER-DETAY-2026-09-29/eskiz-2026-10-16). product-detail.css belirteclerini kullanir:
   beyaz kart + --pd-card-border + --pd-radius-m, baslik altinda 48x3 kirmizi cizgi (pd-section__title),
   kirmizi sol kenarli not (pd-tldr). Yon bagimsiz (RTL): yalniz mantiksal ozellikler. */

.kp-izgara { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 2rem;
  align-items: start; padding: 1.5rem 0 .5rem; }
.kp-izgara--tek { grid-template-columns: minmax(0, 1fr); max-width: 640px; }
.kp-sol { min-width: 0; }
.kp-sag { display: grid; gap: 1.25rem; min-width: 0; }

/* --- Sol: urunun kendisi --- */
.kp-meta { margin: 1rem 0 .4rem; flex-wrap: wrap; }
/* Genel ".pd-root h1, .pd-root h2 { margin: 0 }" (0,1,1) tek sinifi eziyordu (10-16 olculdu: baslik alt boslugu 0);
   .kp-sayfa ile oncelik. Ayni nedenle ziyaret edilmis baglanti rengi (".pd-root a:visited" 0,2,1) asagida acikca. */
.kp-sayfa .kp-baslik-ana { font-size: 1.45rem; line-height: 1.25; margin: 0 0 .6rem; color: var(--pd-ink); }
.kp-olcu { font-size: 1.75rem; font-weight: 700; color: var(--pd-dark); margin: 0 0 .75rem; line-height: 1.2; }
.kp-bilgi { margin: 0 0 1rem; }
.kp-bilgi th { width: 38%; color: var(--pd-muted); font-weight: 500; vertical-align: top; }
.kp-bilgi td { vertical-align: top; }
.kp-bilgi td { font-weight: 600; color: var(--pd-ink); }
.kp-bilgi a, .kp-sayfa .kp-bilgi a:visited { color: var(--pd-red-dark); text-decoration: none; }
.kp-bilgi a:hover, .kp-bilgi a:focus-visible { text-decoration: underline; }
.kp-tipler { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; }
.kp-tipler-daha { margin-top: .4rem; }
.kp-tipler-daha > summary { cursor: pointer; font-weight: 600; color: var(--pd-red-dark); font-size: .88rem; margin-bottom: .3rem; }
.kp-soluk { color: var(--pd-faint); font-weight: 500; }
.kp-paylas { margin-top: .9rem; }
.kp-ozet-metin { margin-top: 1rem; }

/* --- Sag: iliski kartlari --- */
.kp-kart { background: var(--pd-bg); border: 1px solid var(--pd-card-border); border-radius: var(--pd-radius-m);
  padding: 1.25rem 1.1rem .75rem; box-shadow: var(--pd-shadow-soft); }
.kp-sayfa .kp-baslik { font-size: 1.3rem; margin: 0 0 .9rem; color: var(--pd-ink); }
.kp-baslik::after { content: ""; display: block; width: 48px; height: 3px; background: var(--pd-red);
  margin-top: .5rem; border-radius: 2px; }
.kp-sayi { font-size: .9rem; font-weight: 600; color: var(--pd-faint); margin-inline-start: .5rem; }
.kp-not { background: var(--pd-bg-soft); border-inline-start: 3px solid var(--pd-red);
  border-radius: 0 var(--pd-radius-m) var(--pd-radius-m) 0; padding: .6rem .8rem; margin: 0 0 .6rem;
  font-size: .9rem; color: var(--pd-ink); }
[dir="rtl"] .kp-not { border-radius: var(--pd-radius-m) 0 0 var(--pd-radius-m); }

/* Iki sutun (kullanici 2026-10-16: olcu alta inince sag bos kaldi). Ic takim satiri iki sutunu kaplar. */
/* Her satir kendi karti (kullanici 2026-10-16: iki sutunda satirlar birbirinden ayrilsin). */
.kp-liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.kp-liste > li { min-width: 0; border: 1px solid var(--pd-card-border); border-radius: var(--pd-radius-m); background: var(--pd-bg);
  transition: border-color .5s ease, box-shadow .5s ease, background-color .5s ease; }
.kp-liste > li:hover, .kp-liste > li:focus-within { border-color: var(--pd-dark); box-shadow: var(--pd-shadow-soft); }
.kp-liste > li.kp-li--genis { grid-column: 1 / -1; }
.kp-liste > li[hidden] { display: none; }
.kp-satir { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: .9rem; align-items: center;
  padding: .6rem .7rem; color: inherit; text-decoration: none; border-radius: var(--pd-radius-m);
  transition: background .12s; }
a.kp-satir:focus-visible { outline: 2px solid var(--pd-red); outline-offset: 2px; }
.kp-satir__g { display: block; width: 84px; height: 84px; border: 1px solid var(--pd-line);
  border-radius: var(--pd-radius-s); background: #fff; overflow: hidden; }
.kp-satir__g img { width: 100%; height: 100%; object-fit: contain; display: block; }
.kp-satir__m { min-width: 0; display: flex; flex-direction: column; gap: .1rem; }
.kp-satir__k { font-weight: 700; font-size: .95rem; color: var(--pd-ink); }
.kp-satir__a { font-size: .82rem; color: var(--pd-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kp-satir__t { font-size: .92rem; font-weight: 700; color: var(--pd-red); margin-top: .15rem; }
/* Yarim genislikte orijinal no / dolayli yol kesilmesin: her zaman kendi satirinda (ayirt edici bilgi). */
.kp-satir__a { white-space: normal; }
.kp-ayr { display: none; }
.kp-satir__on { display: block; font-weight: 600; color: var(--pd-ink); }
.kp-rz { display: inline-block; font-size: .62rem; font-weight: 700; letter-spacing: .06em; line-height: 1.5;
  color: var(--pd-red); border: 1px solid var(--pd-red); border-radius: 4px; padding: 0 .3rem;
  margin-inline-end: .4rem; vertical-align: 2px; }

/* Icteki takim: yerinde bir kat acilir */
.kp-altt > summary { list-style: none; cursor: pointer; border-radius: var(--pd-radius-s); }
.kp-altt > summary::-webkit-details-marker { display: none; }
.kp-altt[open] > summary { background: var(--pd-bg-soft); border-radius: var(--pd-radius-m) var(--pd-radius-m) 0 0; }
.kp-altt > summary .kp-satir { grid-template-columns: 84px minmax(0, 1fr) auto; }
.kp-satir__ac { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border: 1px solid var(--pd-red); border-radius: 50%; color: var(--pd-red); font-size: 1.3rem; margin-inline-end: .3rem; transition: transform .15s; }
.kp-altt[open] > summary .kp-satir__ac { transform: rotate(180deg); }
/* Iki sinif: genel ".pd-root ul { margin: 0; padding: 0 }" (0,1,1) tek sinifi eziyordu, kartlar kirmizi cizgiye ve sag
   kenara yapisikti (kullanici 2026-10-16, olculdu: margin 0). */
.kp-liste.kp-liste--ic { margin: .75rem .8rem .35rem; margin-inline-start: 1.5rem; padding-inline-start: .85rem;
  border-inline-start: 3px solid var(--pd-red); }
/* Ic takimin kendi sayfasi: dolu koyu dugme, saga yasli (kullanici 2026-10-16; RTL'de sola). */
.kp-sayfa .kp-altt .kp-link, .kp-sayfa .kp-altt .kp-link:visited { display: flex; width: fit-content; align-items: center; gap: .4rem; margin: .4rem .8rem .8rem;
  margin-inline-start: auto; padding: .6rem 1.1rem; border: 1.5px solid var(--pd-dark); border-radius: var(--pd-radius-s);
  background: var(--pd-dark); font-size: .9rem; font-weight: 700; color: #fff; text-decoration: none;
  transition: background-color .15s ease, border-color .15s ease; }
.kp-sayfa .kp-altt .kp-link:hover, .kp-sayfa .kp-altt .kp-link:focus-visible { background: var(--pd-red); border-color: var(--pd-red); color: #fff; }

.kp-tumu { display: block; width: 100%; margin: .6rem 0 .25rem; padding: .7rem 0; font: inherit; font-size: .9rem;
  font-weight: 600; color: var(--pd-dark); background: var(--pd-bg); border: 1px solid var(--pd-dark);
  border-radius: var(--pd-radius-s); cursor: pointer; }
.kp-tumu:hover, .kp-tumu:focus-visible { background: var(--pd-dark); color: #fff; }
.kp-fazla { margin: .5rem .4rem .25rem; font-size: .85rem; color: var(--pd-faint); }

.kp-alt { padding-top: 1.5rem; }

@media (max-width: 860px) {
  .kp-izgara { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; padding-top: 1rem; }
  .kp-sayfa .kp-baslik-ana { font-size: 1.25rem; }
  .kp-olcu { font-size: 1.5rem; }
  .kp-kart { padding: 1rem .75rem .5rem; }
  .kp-liste { grid-template-columns: minmax(0, 1fr); }
  .kp-satir { grid-template-columns: 64px minmax(0, 1fr); gap: .65rem; }
  .kp-altt > summary .kp-satir { grid-template-columns: 64px minmax(0, 1fr) auto; }
  .kp-satir__g { width: 64px; height: 64px; }
  .kp-liste.kp-liste--ic { margin-inline-start: .8rem; margin-inline-end: .55rem; padding-inline-start: .6rem; }
}

@media print {
  .kp-satir__ac, .kp-tumu { display: none; }
  .kp-liste > li[hidden] { display: block; }
}

/* --- Olcuyle ara (2026-10-16): ekranin saginda SABIT dugme + pencere (eskiz ekran 2) ---
   Kurallar (kullanici): emoji yok, simgeler SVG; kullanim kolayligi bozulmaz (tek ekran, ayni adimlar).
   Hizalama: alanlar USTTEN hizali ve ESIT genislik; kart cerceveleri HEPSI 2px (vurgu yalniz renkle, icerik kaymaz);
   toleransa uymayan kart soluklastirilmaz. Harf rozetleri (O, L, d, D, M) cizim + kutu + fark etiketinde AYNI. */

/* Dugme konumu OLCUYLE secildi: .pd-container 1200px. Ekran >= 1420px ise (kaydirma cubugu dahil) kabin yaninda bos alan
   var -> sag kenarin ORTASINA yapisik sekme (hicbir seyin ustune binmez). Daha dar ekranda kenar ortasi sag sutun
   kartlarini kapatiyordu (944px'te olculdu) -> sag ALT koseye sabit, tek satir. */
.kp-olcu-ac { position: fixed; z-index: 1020; inset-inline-end: 1rem; bottom: 1rem;
  display: flex; flex-direction: row; align-items: center; gap: .5rem; margin: 0; padding: .8rem 1.2rem;
  font: inherit; font-size: 1rem; font-weight: 700; line-height: 1.2; color: #fff;
  background: var(--pd-red); border: 0; border-radius: 999px; box-shadow: 0 6px 18px rgba(0, 0, 0, .22); cursor: pointer; }
.kp-olcu-ac:hover, .kp-olcu-ac:focus-visible { background: var(--pd-red-dark); }
.kp-olcu-ac:focus-visible { outline: 3px solid var(--pd-dark); outline-offset: 2px; }
.kp-olcu-ac[hidden] { display: none; }
.kp-olcu-ac__simge { flex: none; width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.6;
  stroke-linecap: round; stroke-linejoin: round; }
@media (min-width: 1420px) {
  .kp-olcu-ac { inset-inline-end: 0; top: 50%; bottom: auto; transform: translateY(-50%); flex-direction: column; gap: .4rem;
    width: 92px; padding: .9rem .5rem; font-size: .92rem; text-align: center; border-radius: 0;
    border-start-start-radius: var(--pd-radius-m); border-end-start-radius: var(--pd-radius-m); }
  .kp-olcu-ac__simge { width: 30px; height: 30px; }
}

/* Pencere */
.kp-olcu-dlg { box-sizing: border-box; width: min(1000px, calc(100vw - 2rem)); max-width: none; max-height: calc(100dvh - 2rem);
  padding: 1.5rem 1.75rem 1.75rem; border: 0; border-radius: var(--pd-radius-l); background: var(--pd-bg); color: var(--pd-ink);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .25); }
.kp-olcu-dlg::backdrop { background: rgba(20, 24, 24, .6); }
.kp-olcu-dlg__ust { display: flex; align-items: center; gap: .9rem; }
.kp-olcu-dlg__simge { flex: none; display: grid; place-items: center; width: 52px; height: 52px; color: var(--pd-red);
  background: #fdecec; border-radius: 14px; }
.kp-olcu-dlg__simge svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round;
  stroke-linejoin: round; }
.kp-olcu-dlg__bas { flex: 1 1 auto; min-width: 0; }
.kp-olcu-dlg__baslik { margin: 0; font-size: 1.45rem; font-weight: 700; line-height: 1.2; color: var(--pd-dark); }
.kp-olcu-dlg__tur { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: .25rem 0 0; font-size: 1rem;
  font-weight: 700; line-height: 1.3; color: var(--pd-red); }
.kp-olcu-dlg__tur span { padding: .1rem .6rem; font-size: .8rem; font-weight: 600; color: var(--pd-dark);
  background: var(--pd-bg-soft); border-radius: 999px; }
.kp-olcu-dlg__kapat { flex: none; display: grid; place-items: center; width: 44px; height: 44px; margin: 0; padding: 0;
  color: var(--pd-dark); background: var(--pd-bg); border: 1px solid var(--pd-card-border); border-radius: 50%; cursor: pointer; }
.kp-olcu-dlg__kapat:hover, .kp-olcu-dlg__kapat:focus-visible { border-color: var(--pd-dark); background: var(--pd-bg-soft); }
.kp-olcu-dlg__kapat svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.kp-olcu-dlg__tipler { margin: .9rem 0 1.1rem; padding-top: .9rem; font-size: .88rem; line-height: 1.45; color: var(--pd-muted);
  border-top: 1px solid var(--pd-line); }

/* Kumpas paneli: solda "nereden olculur" cizimi, sagda kutular */
.kp-kumpas { display: grid; grid-template-columns: 250px minmax(0, 1fr); align-items: center; gap: 1.25rem; margin: 0 0 1rem;
  padding: 1.1rem; background: var(--pd-bg-soft); border: 1px solid #e2e2e2; border-radius: 16px; }
.kp-kumpas--cizimsiz { grid-template-columns: minmax(0, 1fr); }
.kp-cizim { margin: 0; padding: .6rem .75rem .5rem; background: #fff; border: 1px solid var(--pd-line); border-radius: var(--pd-radius-m); }
.kp-cizim figcaption { margin: 0 0 .2rem; font-size: .75rem; font-weight: 700; color: var(--pd-faint); }
.kp-cizim svg { display: block; width: 100%; height: auto; overflow: visible; }
.kp-cizim .p { fill: #eef1f1; stroke: var(--pd-dark); stroke-width: 2; stroke-linejoin: round; }
.kp-cizim .delik { fill: #fff; stroke: var(--pd-dark); stroke-width: 2; }
.kp-cizim .parlak { fill: none; stroke: #fff; stroke-width: 4; stroke-linecap: round; opacity: .9; }
.kp-cizim .ince { fill: none; stroke: var(--pd-dark); stroke-width: 1.1; }
.kp-cizim .gizli { fill: none; stroke: var(--pd-dark); stroke-width: 1.2; stroke-dasharray: 5 3; }
.kp-cizim .ek { fill: none; stroke: #9aa3a2; stroke-width: 1; stroke-dasharray: 10 3 2 3; }
.kp-cizim .uz { fill: none; stroke: var(--pd-red); stroke-width: 1; opacity: .55; }
.kp-cizim .ol { fill: none; stroke: var(--pd-red); stroke-width: 1.6; }
.kp-cizim__uc { fill: var(--pd-red); }
.kp-cizim .h { font-family: inherit; font-size: 17px; font-weight: 700; fill: var(--pd-red); text-anchor: middle;
  dominant-baseline: central; paint-order: stroke; stroke: #fff; stroke-width: 6px; stroke-linejoin: round; }

.kp-kumpas__form { min-width: 0; }
.kp-kumpas__b { margin: 0 0 .85rem; font-size: 1.05rem; font-weight: 700; line-height: 1.35; color: var(--pd-dark); }
/* inline-grid + 1fr: butun alanlar EN GENIS etiket kadar ve esit (ustten hizali). */
.kp-alanlar { display: inline-grid; grid-auto-flow: column; grid-auto-columns: minmax(140px, 1fr); gap: .75rem 1rem; max-width: 100%; }
.kp-alan { min-width: 0; }
.kp-alan label { display: flex; align-items: center; gap: .4rem; height: 1.5rem; margin: 0 0 .35rem; font-size: .88rem;
  font-weight: 600; line-height: 1.2; white-space: nowrap; color: var(--pd-dark); }
.kp-alan label span { overflow: hidden; text-overflow: ellipsis; }
.kp-harf { flex: none; display: inline-grid; place-items: center; min-width: 1.35rem; height: 1.35rem; padding: 0 .3rem;
  font-size: .8rem; font-weight: 700; font-style: normal; line-height: 1; color: #fff; background: var(--pd-red); border-radius: 999px; }
.kp-alan__kutu { position: relative; display: block; }
.kp-alan input, .kp-alan select { box-sizing: border-box; display: block; width: 100%; height: 54px; margin: 0;
  font: inherit; font-size: 1.35rem; font-weight: 700; color: var(--pd-ink); background-color: #fff;
  border: 1.5px solid #b9bfbe; border-radius: 10px; transition: border-color .15s, box-shadow .15s; }
.kp-alan input { padding-block: 0; padding-inline: .9rem 2.9rem; }
.kp-alan__birim { position: absolute; top: 50%; inset-inline-end: .9rem; transform: translateY(-50%); font-size: .9rem;
  font-weight: 600; color: var(--pd-faint); pointer-events: none; }
.kp-alan select { -webkit-appearance: none; appearance: none; padding-block: 0; padding-inline: .9rem 2.4rem; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23262F2E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right .85rem center; background-size: 13px 9px; }
[dir="rtl"] .kp-alan select { background-position: left .85rem center; }
.kp-alan input:focus, .kp-alan select:focus { outline: none; border-color: var(--pd-dark); box-shadow: 0 0 0 3px rgba(38, 47, 46, .16); }

/* Tolerans: acilir menu yerine tek dokunus */
.kp-tol { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .85rem; margin: .95rem 0 0; }
.kp-tol__ad { font-size: .88rem; font-weight: 600; color: var(--pd-dark); }
.kp-tol__secim { display: inline-flex; padding: 3px; background: #fff; border: 1.5px solid #b9bfbe; border-radius: 10px; }
.kp-tol__secim label { position: relative; margin: 0; cursor: pointer; }
.kp-tol__secim input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.kp-tol__secim span { display: block; min-width: 84px; padding: .55rem .8rem; font-size: .95rem; font-weight: 700; line-height: 1.2;
  text-align: center; white-space: nowrap; color: var(--pd-dark); border-radius: 7px; transition: background-color .15s, color .15s; }
.kp-tol__secim label:hover input:not(:checked) + span { background: var(--pd-bg-soft); }
.kp-tol__secim input:checked + span { color: #fff; background: var(--pd-dark); }
.kp-tol__secim input:focus-visible + span { outline: 3px solid rgba(38, 47, 46, .35); outline-offset: 1px; }
.kp-tol__not { font-size: .82rem; line-height: 1.35; color: var(--pd-faint); }

/* Sonuc seridi */
.kp-sonuc { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem .9rem; margin: 0 0 1rem; padding: .8rem 1rem;
  font-size: .98rem; font-weight: 600; line-height: 1.4; border: 1px solid transparent; border-radius: var(--pd-radius-m); }
.kp-sonuc[hidden] { display: none; }
.kp-sonuc > svg { flex: none; width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round;
  stroke-linejoin: round; }
.kp-sonuc__m { flex: 1 1 240px; display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.kp-sonuc__ikiz { font-size: .9rem; color: #7a4a00; }
.kp-sonuc--var { color: var(--pd-green); background: #ecf5eb; border-color: #cfe3cd; }
.kp-sonuc--yok { color: #6b4500; background: #fff6e2; border-color: #f0dcae; }
.kp-sonuc__dugme { flex: none; min-height: 44px; padding: 0 1.1rem; font: inherit; font-size: .95rem; font-weight: 700; color: #fff;
  background: var(--pd-dark); border: 0; border-radius: 10px; cursor: pointer; }
.kp-sonuc__dugme:hover, .kp-sonuc__dugme:focus-visible { background: #000; }

/* Aday kartlari */
.kp-adaylar { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .9rem; }
.kp-adaylar__ayrac { grid-column: 1 / -1; display: flex; align-items: center; gap: .75rem; margin: .4rem 0 0; font-size: .85rem;
  font-weight: 700; color: var(--pd-faint); }
.kp-adaylar__ayrac::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--pd-line); }
.kp-aday { position: relative; display: flex; flex-direction: column; overflow: hidden; color: inherit; text-decoration: none;
  background: var(--pd-bg); border: 2px solid var(--pd-card-border); border-radius: 14px;
  transition: border-color .15s, box-shadow .15s, transform .15s; }
.kp-aday:hover { border-color: #c9cfce; box-shadow: 0 10px 22px rgba(0, 0, 0, .08); transform: translateY(-2px); }
.kp-aday:focus-visible { outline: 3px solid var(--pd-dark); outline-offset: 2px; }
.kp-aday--uyar, .kp-aday--uyar:hover { border-color: var(--pd-green); }
.kp-aday--en { box-shadow: 0 0 0 4px #e1efe0; }
.kp-aday--en:hover { box-shadow: 0 0 0 4px #e1efe0, 0 10px 22px rgba(0, 0, 0, .08); }
.kp-aday__foto { position: relative; display: block; aspect-ratio: 1 / 1; padding: .5rem; background: #fff;
  border-bottom: 1px solid var(--pd-line); }
.kp-aday__foto img { display: block; width: 100%; height: 100%; object-fit: contain; }
.kp-aday__rozetler { position: absolute; top: .55rem; inset-inline: .55rem; display: flex; flex-wrap: wrap; gap: .3rem; pointer-events: none; }
.kp-aday__rozet { padding: .22rem .6rem; font-size: .75rem; font-weight: 700; line-height: 1.2; color: #fff; background: var(--pd-green);
  border-radius: 999px; box-shadow: 0 1px 3px rgba(0, 0, 0, .15); }
.kp-aday__rozet--bu { background: var(--pd-dark); }
.kp-aday__ikiz { align-self: flex-start; padding: .15rem .55rem; font-size: .75rem; font-weight: 700; line-height: 1.2;
  color: #7a4a00; background: #fff1d6; border-radius: 999px; }
.kp-aday__g { flex: 1 1 auto; display: flex; flex-direction: column; gap: .3rem; padding: .7rem .85rem .85rem; }
.kp-aday__olcu { font-size: 1.1rem; font-weight: 700; line-height: 1.25; color: var(--pd-red); }
.kp-aday__kod { display: flex; align-items: center; justify-content: space-between; gap: .5rem; font-size: .95rem; font-weight: 600;
  line-height: 1.3; color: var(--pd-ink); }
.kp-aday__ok { flex: none; width: 18px; height: 18px; fill: none; stroke: var(--pd-faint); stroke-width: 2; stroke-linecap: round;
  stroke-linejoin: round; transition: transform .15s, stroke .15s; }
.kp-aday:hover .kp-aday__ok { stroke: var(--pd-red); transform: translateX(3px); }
[dir="rtl"] .kp-aday__ok { transform: scaleX(-1); }
[dir="rtl"] .kp-aday:hover .kp-aday__ok { transform: scaleX(-1) translateX(3px); }
.kp-aday__farklar { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .1rem; }
.kp-fark { display: inline-flex; align-items: center; gap: .3rem; padding: .18rem .55rem; font-size: .8rem; font-weight: 700;
  line-height: 1.2; white-space: nowrap; color: var(--pd-red-dark); background: #fdeeee; border-radius: 999px; }
.kp-fark .kp-harf { min-width: 1.15rem; height: 1.15rem; margin-inline-start: -.35rem; font-size: .7rem; background: var(--pd-red-dark); }
.kp-fark--ok { color: var(--pd-green); background: #e6f2e5; }
.kp-fark--ok .kp-harf { background: var(--pd-green); }

@media (max-width: 860px) {
  .kp-olcu-dlg { width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; padding: 1rem; border-radius: 0; }
  .kp-olcu-dlg__ust { gap: .7rem; }
  .kp-olcu-dlg__simge { width: 44px; height: 44px; border-radius: 12px; }
  .kp-olcu-dlg__simge svg { width: 26px; height: 26px; }
  .kp-olcu-dlg__baslik { font-size: 1.25rem; }
  /* Tip listesi uzun: iki satir (tam liste sayfanin kendi tablosunda var). */
  .kp-olcu-dlg__tipler { display: -webkit-box; margin: .75rem 0 .9rem; padding-top: .75rem; overflow: hidden;
    -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
  /* Mobilde sonuclar ilk ekrana sigsin (375px'te ilk kart y=788'deydi): cizim kucuk ve ipucu cumlesinin YANINDA,
     kutular ve tolerans altta tam genislik (form kutusu display:contents ile izgaraya acilir). */
  .kp-kumpas { grid-template-columns: 132px minmax(0, 1fr); gap: .75rem; padding: .85rem; }
  .kp-kumpas--cizimsiz { grid-template-columns: minmax(0, 1fr); }
  .kp-kumpas__form { display: contents; }
  .kp-cizim { grid-column: 1; grid-row: 1; align-self: center; padding: .3rem; }
  .kp-cizim figcaption { display: none; }
  .kp-kumpas__b { grid-column: 2; grid-row: 1; align-self: center; margin: 0; font-size: 1rem; }
  .kp-kumpas--cizimsiz .kp-kumpas__b { grid-column: 1 / -1; }
  .kp-alanlar, .kp-tol { grid-column: 1 / -1; margin: 0; }
  .kp-alanlar { display: grid; width: 100%; grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kp-tol__secim { display: flex; width: 100%; }
  .kp-tol__secim label { flex: 1 1 0; }
  .kp-tol__secim span { min-width: 0; }
  .kp-adaylar { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
  .kp-aday__g { padding: .55rem .6rem .7rem; }
  /* Dar kartta iki rozet tek satira sigsin (fotografi kapatmasin). */
  .kp-aday__rozetler { top: .4rem; inset-inline: .4rem; gap: .25rem; }
  .kp-aday__rozet { padding: .18rem .45rem; font-size: .68rem; }
  .kp-aday__olcu { font-size: 1rem; }
}
@media print { .kp-olcu-ac, .kp-olcu-dlg { display: none !important; } }

/* --- Buyutme dugmesi (2026-10-16): buyutme kosedeki simgeyle; fareli cihazda fotograf tiklamasi buyutmez (kaliper.js).
   Alt kosede: ust sol kosede sogutma rozeti var (RTL'de dugme alt sola gecer, yine carpismaz). */
.kp-buyut { position: absolute; z-index: 4; bottom: .75rem; inset-inline-end: .75rem; display: inline-flex;
  align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; color: var(--pd-dark, #262F2E);
  background: rgba(255, 255, 255, .94); border: 1px solid var(--pd-card-border, #e6e6e6); border-radius: 50%;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .1); cursor: zoom-in; transition: background-color .2s ease, color .2s ease, transform .2s ease; }
.kp-buyut[hidden] { display: none; }
.kp-buyut:hover { color: #fff; background: var(--pd-dark, #262F2E); border-color: var(--pd-dark, #262F2E); transform: scale(1.06); }
.kp-buyut:focus-visible { outline: 3px solid var(--pd-red); outline-offset: 2px; }
@media (hover: hover) and (pointer: fine) {
  .kp-buyut-var img[data-pd-gallery-main] { cursor: default; }
}
@media (prefers-reduced-motion: reduce) { .kp-buyut { transition: none; } .kp-buyut:hover { transform: none; } }
@media print { .kp-buyut { display: none !important; } }

/* --- Usta buyuteci (2026-10-16): takim fotografinda parcayi buyuten yuvarlak buyutec (kaliper.js) ---
   Kullanici karari: tasarim tuvalindeki "1 · Usta buyuteci" (eski AI odagi -perde, izgara, yaklasma, onizleme- kalkti).
   Sinir cizilmez; buyutecin konumu ve buyutmesi yalniz kaba elipslerden. Yalniz fareli cihazda gorunur.
   Egri suzulme: left ve top AYRI egrilerle gecer (x once hizlanir, y hafif asar). */
.kp-sol .pd-gallery__main { position: relative; }
.kp-mercek { position: absolute; z-index: 3; left: 0; top: 0; border-radius: 50%; pointer-events: none; opacity: 1; transform: scale(1);
  box-shadow: 0 24px 40px -10px rgba(38, 47, 46, .42), 0 4px 10px rgba(38, 47, 46, .16);
  transition: left .8s cubic-bezier(.55, .05, .25, 1), top .8s cubic-bezier(.25, .75, .3, 1.12), width .5s cubic-bezier(.3, .7, .2, 1),
    height .5s cubic-bezier(.3, .7, .2, 1), opacity .35s ease, transform .45s cubic-bezier(.3, 1.4, .5, 1); }
.kp-mercek[hidden] { display: none; }
.kp-mercek.gizli { opacity: 0; transform: scale(.55); }
.kp-mercek.serbest { transition: left .08s linear, top .08s linear, width .3s ease, height .3s ease, opacity .25s ease, transform .3s ease; }
.kp-mercek__cam { position: absolute; inset: 0; overflow: hidden; border-radius: 50%; background: #fff; }
/* Genel kural (.pd-gallery__main img: max-height 100%, object-fit) buyutecin icindeki gorseli kucultmesin: oncelik yuksek. */
.pd-gallery__main .kp-mercek__foto { position: absolute; display: block; width: auto; max-width: none; max-height: none; object-fit: fill; cursor: none;
  transition: left .8s cubic-bezier(.55, .05, .25, 1), top .8s cubic-bezier(.25, .75, .3, 1.12), width .5s cubic-bezier(.3, .7, .2, 1),
    height .5s cubic-bezier(.3, .7, .2, 1), opacity .3s ease; }
.pd-gallery__main .kp-mercek.serbest .kp-mercek__foto { transition: left .08s linear, top .08s linear, width .3s ease, height .3s ease, opacity .3s ease; }
.pd-gallery__main .kp-mercek__kucuk { position: absolute; left: 14%; top: 14%; width: 72%; height: 72%; max-height: none; object-fit: contain; opacity: 0;
  transition: opacity .35s ease; }
.kp-mercek__arti { position: absolute; left: 50%; top: 50%; width: 14px; height: 14px; margin: -7px 0 0 -7px; opacity: 0;
  transition: opacity .2s ease; }
.kp-mercek.arti .kp-mercek__arti { opacity: 1; }
.kp-mercek__arti::before, .kp-mercek__arti::after { content: ""; position: absolute; background: rgba(38, 47, 46, .75); border-radius: 1px; }
.kp-mercek__arti::before { left: 6px; top: 0; width: 2px; height: 14px; }
.kp-mercek__arti::after { left: 0; top: 6px; width: 14px; height: 2px; }
.kp-mercek__parlak { position: absolute; inset: 0; border-radius: 50%;
  background: radial-gradient(90% 70% at 30% 18%, rgba(255, 255, 255, .55) 0, rgba(255, 255, 255, .14) 30%, rgba(255, 255, 255, 0) 46%),
    radial-gradient(closest-side, rgba(38, 47, 46, 0) 82%, rgba(38, 47, 46, .18) 100%);
  box-shadow: inset 0 0 0 5px var(--pd-dark, #262F2E), inset 0 0 0 6.5px rgba(255, 255, 255, .7); }
/* Kilit halkasi: buyutec varinca cizilir (pathLength=1; k = satirdan, h = fotografta hizli). */
.kp-mercek__halka { position: absolute; left: -8px; top: -8px; width: calc(100% + 16px); height: calc(100% + 16px); overflow: visible;
  transform: rotate(-90deg); }
.kp-mercek__halka circle { fill: none; stroke: var(--pd-red); stroke-width: 1.5; stroke-linecap: round; stroke-dasharray: 1 1;
  stroke-dashoffset: 1; opacity: 0; }
.kp-mercek__halka circle.k0 { animation: kp-kilit0 .65s cubic-bezier(.6, 0, .2, 1) .62s forwards; }
.kp-mercek__halka circle.k1 { animation: kp-kilit1 .65s cubic-bezier(.6, 0, .2, 1) .62s forwards; }
.kp-mercek__halka circle.h0 { animation: kp-kilit0 .38s ease-out forwards; }
.kp-mercek__halka circle.h1 { animation: kp-kilit1 .38s ease-out forwards; }
@keyframes kp-kilit0 { 0% { opacity: 1; stroke-dashoffset: 1; } 100% { opacity: 1; stroke-dashoffset: 0; } }
@keyframes kp-kilit1 { 0% { opacity: 1; stroke-dashoffset: 1; } 100% { opacity: 1; stroke-dashoffset: 0; } }
/* Kart: buyutecin altinda (alt kenara yakinsa ustunde); konumu kaliper.js hesaplar. */
.kp-mercek-kart { position: absolute; z-index: 4; left: 0; top: 0; width: max-content; max-width: 248px; transform: translate(-50%, 0);
  pointer-events: none; opacity: 1;
  transition: left .8s cubic-bezier(.55, .05, .25, 1), top .8s cubic-bezier(.25, .75, .3, 1.12), opacity .3s ease; }
.kp-mercek-kart[hidden] { display: none; }
.kp-mercek-kart.ust { transform: translate(-50%, -100%); }
.kp-mercek-kart.serbest { transition: left .08s linear, top .08s linear, opacity .2s ease; }
.kp-mercek-kart.gizli { opacity: 0; }
.kp-mercek-kart__ic { display: flex; flex-direction: column; gap: 1px; padding: 9px 13px 10px; text-align: start; background: #fff;
  border: 1px solid var(--pd-card-border, #e6e6e6); border-radius: 12px; box-shadow: 0 10px 26px rgba(38, 47, 46, .16); }
.kp-mercek-kart__ic.g0 { animation: kp-mk0 .45s ease both; }
.kp-mercek-kart__ic.g1 { animation: kp-mk1 .45s ease both; }
@keyframes kp-mk0 { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
@keyframes kp-mk1 { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.kp-mercek-kart__not { font-size: .7rem; line-height: 1.4; font-weight: 600; color: var(--pd-red-dark); }
.kp-mercek-kart__not:empty { display: none; }
.kp-mercek-kart__sat { display: flex; align-items: center; gap: 6px; }
.kp-mercek-kart__sat .kp-rz { margin: 0; }
.kp-mercek-kart__sat .kp-rz[hidden] { display: none; }
.kp-mercek-kart__kod { font-size: .95rem; line-height: 1.3; font-weight: 700; color: var(--pd-ink); }
.kp-mercek-kart__ad { font-size: .8rem; line-height: 1.35; color: var(--pd-muted); }
.kp-mercek-kart__olcu { font-size: .8rem; line-height: 1.35; font-weight: 600; color: var(--pd-red); }
.kp-mercek-kart__ek { margin-top: 5px; padding-top: 5px; border-top: 1px solid #efefef; font-size: .7rem; line-height: 1.4; color: var(--pd-muted); }
.kp-mercek-kart__olcu[hidden], .kp-mercek-kart__ek[hidden] { display: none; }
/* Fotografta bir parcanin ustunde imlec buyutecin artisidir; tiklayinca listede gosterilir (buyutme yerine). */
.kp-buyutecli img[data-pd-gallery-main] { cursor: none; }
/* Listede bulunan satir kisa sure parlar (fotograftan tiklayinca). */
/* Fotograftan tiklayinca bulunan satir 3 sn belirgin kalir (kullanici 2026-10-16: "biraz daha uzun isaretli kalsa"). */
.kp-liste > li.kp-bul { animation: kp-bul 3.2s ease-out; }
@keyframes kp-bul {
  0%, 62% { border-color: var(--pd-red); background-color: #fff1f1; box-shadow: 0 0 0 5px rgba(211, 47, 47, .32); }
  100% { box-shadow: 0 0 0 0 rgba(211, 47, 47, 0); }
}
/* Satir vurgusu: uzerine gelinen kirmizi cerceve; takim turunda gosterilen / fotografta bulunan hafif pembe. */
/* Belirgin (kullanici 2026-10-16): girerken hizli, cikarken .5 sn'de soner (temel gecis). Acik ic takimda takim kartinin
   zemini beyaz kalir; yanan cocuk karti one cikar. */
.kp-liste > li.kp-yan { border-color: var(--pd-red); box-shadow: 0 0 0 3px rgba(211, 47, 47, .16); background: #fff6f6;
  transition-duration: .15s; }
.kp-liste > li.kp-yan:has(> details[open]) { background: var(--pd-bg); }
.kp-liste > li.kp-ilgili { border-color: var(--pd-red); background: #fff1f1; transition-duration: .15s;
  box-shadow: 0 0 0 3px rgba(211, 47, 47, .22), 0 6px 16px rgba(38, 47, 46, .08); }
/* Hedef kapali bir ic takimin icindeyse takimin ac-kapa dugmesi nabiz atar. */
.kp-satir__ac.kp-nabiz { animation: kp-dnabiz 1.3s ease-out infinite; }
@keyframes kp-dnabiz { 0% { box-shadow: 0 0 0 0 rgba(211, 47, 47, .45); } 100% { box-shadow: 0 0 0 10px rgba(211, 47, 47, 0); } }

/* Galeri, liste (sag sutun) bitene kadar ekranda kalir (kullanici 2026-10-16: "Bu takimin icindekiler kaydiginda ana
   gorsel yok oluyor"). Yalniz sag sutun soldan UZUNKEN (kaliper.js .kp-yapiskan; ic takim acilinca yeniden olculur):
   sol sutun satir boyunca uzar, galeri tepeye yapisir, altindaki bilgiler arkasindan gecer. Ust menu sabit DEGIL
   (olculdu). Kisa ekranda (galeri ekrana sigmaz) ve tek sutunda (<=860px) kapali. */
@media (min-width: 861px) and (min-height: 640px) {
  .kp-izgara.kp-yapiskan > .kp-sol { align-self: stretch; }
  .kp-izgara.kp-yapiskan > .kp-sol > .pd-gallery { position: sticky; top: 1rem; z-index: 5; background: var(--pd-bg, #fff);
    box-shadow: 0 -1rem 0 var(--pd-bg, #fff); }   /* ustteki 1rem seritte kayan yazi gorunmesin */
  .kp-izgara.kp-yapiskan > .kp-sol > .pd-gallery::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 14px; pointer-events: none;
    background: linear-gradient(var(--pd-bg, #fff), rgba(255, 255, 255, 0)); }
}

@media (prefers-reduced-motion: reduce) {
  .kp-mercek, .pd-gallery__main .kp-mercek__foto, .kp-mercek-kart, .pd-gallery__main .kp-mercek__kucuk, .pd-gallery__main .kp-mercek.serbest .kp-mercek__foto { transition: none; }
  .kp-mercek__halka circle.k0, .kp-mercek__halka circle.k1, .kp-mercek__halka circle.h0, .kp-mercek__halka circle.h1 {
    animation: none; opacity: 1; stroke-dashoffset: 0; }
  .kp-mercek-kart__ic.g0, .kp-mercek-kart__ic.g1, .kp-liste > li.kp-bul, .kp-satir__ac.kp-nabiz { animation: none; }
}
@media print { .kp-mercek, .kp-mercek-kart { display: none !important; } }
