/* ═══════════════════════════════════════════════════════════════════════════
   Fiyat Şablonları (Araçlar > Fiyat Şablonları)
   .ptb-* → builder/editör (canlı önizlemeli) · .pt-doc → A4 belge (katalog kimliği)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Liste görünümü ──────────────────────────────────────────────────────────── */
.ptb-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; flex-wrap:wrap; }
.ptb-toolbar__hint { font-size:12.5px; color:var(--color-text-secondary); }

.ptb-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:12px; }
.ptb-card-item {
  border:1px solid var(--color-border); border-radius:14px; padding:16px; background:var(--color-surface-1,#fff);
  display:flex; flex-direction:column; gap:10px; transition:border-color .15s, box-shadow .15s, transform .15s;
}
.ptb-card-item:hover { border-color:var(--color-primary); box-shadow:0 6px 18px rgba(0,0,0,.07); transform:translateY(-1px); }
.ptb-card-item__top { display:flex; align-items:flex-start; gap:10px; cursor:pointer; }
.ptb-card-item__icon { width:38px; height:38px; border-radius:10px; display:grid; place-items:center; background:rgba(215,38,61,.1); color:#D7263D; font-size:20px; flex-shrink:0; }
.ptb-card-item__name { font-weight:700; font-size:14px; line-height:1.3; }
.ptb-card-item__cust { font-size:12px; color:var(--color-text-secondary); margin-top:2px; display:flex; align-items:center; gap:4px; }
.ptb-card-item__meta { font-size:11.5px; color:var(--color-text-tertiary,#9aa0a6); margin-top:auto; }
.ptb-card-item__act { display:flex; gap:6px; border-top:1px solid var(--color-border); padding-top:10px; }
.ptb-empty { grid-column:1/-1; text-align:center; padding:48px 20px; color:var(--color-text-secondary); }
.ptb-empty i { font-size:40px; color:var(--color-border); display:block; margin-bottom:10px; }

/* ── Editör: iki panel (sol form, sağ canlı önizleme) ───────────────────────── */
.ptb-editbar { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; flex-wrap:wrap;
  position:sticky; top:0; z-index:5; background:var(--color-bg,#f6f7f9); padding:6px 0; }
.ptb-editbar__name { flex:1; min-width:180px; max-width:420px; }
.ptb-editbar__actions { display:flex; gap:8px; }

.ptb-layout { display:grid; grid-template-columns:minmax(0,1fr) 460px; gap:20px; align-items:start; }
@media (max-width:1180px){ .ptb-layout { grid-template-columns:1fr; } .ptb-preview-pane { display:none; } }

.ptb-editor { display:flex; flex-direction:column; gap:14px; min-width:0; }

.ptb-card {
  border:1px solid var(--color-border); border-radius:14px; padding:16px 18px; background:var(--color-surface-1,#fff);
}
.ptb-card__head { display:flex; align-items:center; gap:8px; font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.04em; color:var(--color-text-secondary); margin-bottom:14px; }
.ptb-card__head i { color:#D7263D; font-size:16px; }
.ptb-grid2 { display:grid; grid-template-columns:1fr 1fr; gap:12px 14px; }
.ptb-span2 { grid-column:1 / -1; }
@media (max-width:620px){ .ptb-grid2 { grid-template-columns:1fr; } }

/* Bölüm kartı */
.ptb-sec { border:1px solid var(--color-border); border-radius:14px; background:var(--color-surface-1,#fff); overflow:hidden; }
.ptb-sec__head { display:flex; align-items:center; gap:10px; padding:12px 14px; background:var(--color-bg-soft,#f7f8fa); border-bottom:1px solid var(--color-border); }
.ptb-sec__grip { color:var(--color-text-tertiary,#aaa); font-size:18px; }
.ptb-sec__titles { flex:1; display:flex; flex-direction:column; gap:7px; min-width:0; }
.ptb-sec__title { font-weight:700 !important; font-size:14px !important; }
.ptb-sec__ops { display:flex; gap:3px; flex-shrink:0; }
.ptb-sec__body { padding:6px 14px 14px; }

.ptb-rows { display:flex; flex-direction:column; }
.ptb-row { display:grid; grid-template-columns:1fr 1fr 150px auto; gap:8px; align-items:center; padding:7px 0; border-bottom:1px dashed var(--color-border); }
.ptb-row:last-child { border-bottom:none; }
.ptb-row__price { display:flex; gap:5px; align-items:center; }
.ptb-row__ops { display:flex; gap:2px; }
.ptb-row__tag { display:inline-flex; align-items:center; font-size:9.5px; font-weight:600; color:#D7263D; background:rgba(215,38,61,.09); padding:1px 6px; border-radius:5px; margin-left:6px; vertical-align:middle; }
@media (max-width:620px){ .ptb-row { grid-template-columns:1fr 1fr; } .ptb-row__ops { grid-column:2; justify-content:flex-end; } }

.ptb-rows__empty { font-size:12.5px; color:var(--color-text-tertiary,#9aa0a6); padding:10px 2px; text-align:center; }
.ptb-sec__add { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-top:10px; position:relative; }

.ptb-search { width:100%; margin-top:10px; border:1px solid var(--color-border); border-radius:10px; padding:10px; background:var(--color-bg-soft,#f7f8fa); }
.ptb-search__bar { display:flex; gap:8px; }
.ptb-search__res { max-height:230px; overflow-y:auto; margin-top:8px; background:var(--color-surface-1,#fff); border:1px solid var(--color-border); border-radius:8px; }
.ptb-search__item { padding:9px 11px; cursor:pointer; font-size:13px; border-bottom:1px solid var(--color-border); display:flex; align-items:center; justify-content:space-between; gap:10px; }
.ptb-search__item:last-child { border-bottom:none; }
.ptb-search__item:hover { background:rgba(215,38,61,.06); }
.ptb-search__price { color:#D7263D; font-weight:700; white-space:nowrap; font-size:12px; }

.ptb-addsec { margin:2px 0 40px; }

/* Müşteri arama dropdown (meta) */
.ptb-cust-results { position:absolute; top:calc(100% + 2px); left:0; right:0; z-index:50; max-height:240px; overflow-y:auto;
  background:var(--color-surface-1,#fff); border:1px solid var(--color-border); border-radius:8px; box-shadow:0 8px 24px rgba(0,0,0,.12); }
.ptb-cust-results .ptb-search__item { justify-content:flex-start; }

.form-input--sm { padding:6px 9px !important; font-size:13px !important; height:auto !important; }

/* ── Canlı önizleme paneli (sağ) ──────────────────────────────────────────── */
.ptb-preview-pane { position:sticky; top:58px; }
.ptb-preview-pane__label { font-size:11.5px; font-weight:600; text-transform:uppercase; letter-spacing:.05em; color:var(--color-text-secondary); margin-bottom:8px; display:flex; align-items:center; gap:6px; }
.ptb-preview-frame {
  background:#e9ebee; border:1px solid var(--color-border); border-radius:14px; padding:18px;
  height:calc(100vh - 150px); overflow:auto; display:flex; justify-content:center;
}
/* A4 belgeyi panele sığdır: genişlik ölçekle */
.ptb-preview-frame .pt-doc { transform:scale(.52); transform-origin:top center; box-shadow:0 6px 20px rgba(0,0,0,.16); margin-bottom:-46%; flex:0 0 auto; }

/* ═══════════════════════════════════════════════════════════════════════════
   A4 BELGE — .pt-doc  (ekran önizleme + @media print)
   Katalog kimliği: kırmızı #D7263D / krem #F4F0EB / mürekkep #171717
   ═══════════════════════════════════════════════════════════════════════════ */
.pt-doc {
  --ink:#1a1a1a; --red:#D7263D; --cream:#F6F2EC; --line:#e8e4dd; --gray:#6b7178;
  width:210mm; min-height:297mm; margin:0 auto; background:#fff; color:var(--ink);
  padding:17mm 16mm 15mm; box-sizing:border-box;
  font-family:var(--font-primary, -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif);
  font-size:10.5pt; line-height:1.45;
  -webkit-print-color-adjust:exact; print-color-adjust:exact;
}
.pt-doc * { box-sizing:border-box; }

.pt-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; border-bottom:2.5pt solid var(--red); padding-bottom:9pt; }
.pt-brand { font-weight:800; font-size:26pt; letter-spacing:-.5pt; color:var(--ink); line-height:1; }
.pt-brand span { color:var(--red); }
.pt-brand small { display:block; font-size:7.5pt; font-weight:600; letter-spacing:3pt; color:var(--gray); margin-top:4pt; }
.pt-head__right { text-align:right; }
.pt-title { font-size:18pt; font-weight:800; line-height:1.05; }
.pt-sub { font-size:10pt; color:var(--gray); margin-top:2pt; }
.pt-date { font-size:9pt; color:var(--gray); margin-top:2pt; }

.pt-cust { margin-top:11pt; font-size:11pt; }
.pt-cust b { font-weight:700; }
.pt-intro { background:var(--cream); border-left:3pt solid var(--red); padding:9pt 12pt; margin:11pt 0 0;
  font-size:9.5pt; line-height:1.5; color:#3a3d40; border-radius:0 5pt 5pt 0; white-space:pre-line; }
.pt-note { font-size:9pt; color:#9a2730; background:#fcebec; border:.75pt solid #f3ccd0; padding:7pt 11pt; border-radius:5pt; margin:9pt 0 0; }

.pt-grp { margin-top:14pt; break-inside:avoid; }
.pt-grp__title { font-size:11pt; font-weight:700; color:#fff; background:var(--ink); margin:0;
  padding:6pt 11pt; border-radius:5pt 5pt 0 0; letter-spacing:.2pt; }
.pt-grp__desc { font-size:8.5pt; color:var(--gray); padding:5pt 11pt 0; font-style:italic; }
.pt-tbl { width:100%; border-collapse:collapse; }
.pt-tbl tr { break-inside:avoid; }
.pt-tbl td { padding:6.5pt 11pt; border-bottom:.75pt solid var(--line); font-size:10pt; vertical-align:top; }
.pt-tbl tr:nth-child(even) td { background:#faf8f5; }
.pt-tbl tr:last-child td { border-bottom:1pt solid var(--ink); }
.pt-tbl__ad { color:#222; font-weight:500; }
.pt-tbl__detay { display:block; font-size:8pt; font-weight:400; color:var(--gray); margin-top:2pt; }
.pt-tbl__fiyat { text-align:right; white-space:nowrap; font-weight:800; color:var(--red); font-variant-numeric:tabular-nums; width:40mm; }

.pt-foot { margin-top:16pt; padding-top:9pt; border-top:1.5pt solid var(--red); font-size:8pt; color:var(--gray); line-height:1.6; }
.pt-foot b { color:var(--ink); }
.pt-foot__co { margin-top:5pt; font-size:8.5pt; }

/* Tam-boy önizleme overlay (#print-frame) — ekranda ortala + gölge */
#print-frame .pt-doc { box-shadow:0 6px 24px rgba(0,0,0,.12); margin:0 auto; }

@media print {
  /* Adlandırılmış sayfa → receipt.css'in genel @page margin'iyle ÇAKIŞMAZ.
     Her sayfaya 14mm margin; .pt-doc padding'i sıfırlanır (çok sayfa düzgün). */
  @page pt { size:A4; margin:14mm; }
  .pt-doc { page:pt; width:auto; min-height:auto; margin:0; padding:0; box-shadow:none; }
  .pt-grp { break-inside:avoid; }
  .pt-tbl tr { break-inside:avoid; }
  .pt-grp__title { break-after:avoid; }
}
