/* =====================================================================
   teklifal — tasarım sistemi (Bootstrap 5.3 üzerine)
   ===================================================================== */
:root {
  --tk-navy: #0b2545;
  --tk-navy-dark: #071a33;
  --tk-navy-2: #13315c;
  --tk-amber: #f5a623;
  --tk-amber-dark: #e0951b;
  --tk-teal: #12897f;
  --tk-bg: #f5f7fb;
  --tk-ink: #14243a;
  --tk-muted: #64748b;
  --tk-line: #e6ebf2;
  --tk-radius: 16px;
  --tk-shadow-sm: 0 1px 2px rgba(11,37,69,.06), 0 1px 3px rgba(11,37,69,.06);
  --tk-shadow: 0 10px 30px -12px rgba(11,37,69,.18);
  --tk-shadow-lg: 0 24px 60px -20px rgba(11,37,69,.35);
  --bs-body-font-family: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --bs-primary: #0b2545;
  --bs-primary-rgb: 11,37,69;
  --bs-link-color: #13315c;
  --bs-link-color-rgb: 19,49,92;
  --bs-link-hover-color: #12897f;
  --bs-border-radius: 10px;
}

body { background-color: var(--tk-bg); color: var(--tk-ink); font-family: var(--bs-body-font-family); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-weight: 700; letter-spacing: -.015em; color: var(--tk-ink); }
.text-muted { color: var(--tk-muted) !important; }
a { text-underline-offset: 3px; }
::selection { background: rgba(245,166,35,.35); }

/* ---------- Butonlar ---------- */
.btn { font-weight: 600; border-radius: 10px; }
.btn-lg { border-radius: 12px; padding: .75rem 1.5rem; }
.btn-warning { background: var(--tk-amber); border-color: var(--tk-amber); color: #1c1200; box-shadow: 0 6px 18px -8px rgba(245,166,35,.8); }
.btn-warning:hover, .btn-warning:focus { background: var(--tk-amber-dark); border-color: var(--tk-amber-dark); color: #1c1200; }
.btn-primary { background: var(--tk-navy); border-color: var(--tk-navy); }
.btn-primary:hover { background: var(--tk-navy-2); border-color: var(--tk-navy-2); }
.btn-outline-primary { color: var(--tk-navy); border-color: rgba(11,37,69,.25); }
.btn-outline-primary:hover { background: var(--tk-navy); border-color: var(--tk-navy); color: #fff; }
.btn-outline-light-teal { border: 1px solid rgba(255,255,255,.35); color: #fff; background: rgba(255,255,255,.06); backdrop-filter: blur(6px); }
.btn-outline-light-teal:hover { background: rgba(255,255,255,.14); color: #fff; }
.btn-teal { background: var(--tk-teal); color: #fff; border-color: var(--tk-teal); }
.btn-teal:hover { background: #0e7169; color: #fff; }

/* ---------- Navbar ---------- */
.site-navbar { background: rgba(7,26,51,.92); backdrop-filter: saturate(160%) blur(12px); border-bottom: 1px solid rgba(255,255,255,.06); padding-top: .7rem; padding-bottom: .7rem; }
.site-navbar .nav-link { white-space: nowrap; color: rgba(255,255,255,.78); font-weight: 500; font-size: .95rem; padding-left: .8rem !important; padding-right: .8rem !important; border-radius: 8px; }
.site-navbar .nav-link:hover, .site-navbar .nav-link.active { color: #fff; background: rgba(255,255,255,.06); }
.site-navbar .navbar-brand { color: #fff; font-weight: 800; letter-spacing: -.02em; }
.nav-badge { font-size: .65rem; padding: .25em .5em; vertical-align: top; }

/* ---------- Hero ---------- */
.hero {
  position: relative; overflow: hidden; color: #fff; padding: 5.5rem 0 6.5rem;
  background:
    radial-gradient(900px 420px at 85% -10%, rgba(245,166,35,.28), transparent 60%),
    radial-gradient(700px 400px at -10% 110%, rgba(18,137,127,.35), transparent 60%),
    linear-gradient(135deg, #071a33 0%, #0b2545 45%, #13315c 100%);
}
.hero::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 44px 44px; mask-image: radial-gradient(ellipse at 60% 40%, #000 30%, transparent 75%); pointer-events: none; }
.hero > .container { position: relative; z-index: 1; }
.hero h1 { font-size: clamp(2.1rem, 4.6vw, 3.6rem); font-weight: 800; letter-spacing: -.035em; line-height: 1.08; color: #fff; }
.hero h1 .accent { background: linear-gradient(90deg, #ffd27a, var(--tk-amber)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero .lead { color: rgba(255,255,255,.78); font-size: 1.15rem; }
.hero-pill { display: inline-flex; align-items: center; gap: .5rem; padding: .35rem .85rem; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); font-size: .82rem; color: rgba(255,255,255,.88); }
.hero-pill .dot { width: 8px; height: 8px; border-radius: 50%; background: #3ddc97; box-shadow: 0 0 0 4px rgba(61,220,151,.2); }
.hero-stats { display: flex; gap: 2rem; flex-wrap: wrap; margin-top: 2.5rem; }
.hero-stats .num { font-size: 1.6rem; font-weight: 800; color: #fff; line-height: 1; }
.hero-stats .lbl { font-size: .8rem; color: rgba(255,255,255,.6); }

.hero-visual { position: relative; }
.report-mock { background: #fff; color: var(--tk-ink); border-radius: 20px; box-shadow: var(--tk-shadow-lg); padding: 1.4rem; transform: rotate(-1.5deg); }
.report-mock .rm-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.report-mock .rm-title { font-weight: 700; font-size: .95rem; }
.report-mock .rm-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; margin-bottom: 1rem; }
.report-mock .rm-kpi { background: var(--tk-bg); border-radius: 12px; padding: .65rem .75rem; }
.report-mock .rm-kpi b { display: block; font-size: 1.05rem; }
.report-mock .rm-kpi span { font-size: .7rem; color: var(--tk-muted); }
.report-mock .rm-bars { display: flex; align-items: flex-end; gap: 6px; height: 90px; padding: .5rem 0; border-bottom: 1px solid var(--tk-line); }
.report-mock .rm-bars i { flex: 1; border-radius: 6px 6px 2px 2px; background: linear-gradient(180deg, var(--tk-amber), #ffcf7a); }
.report-mock .rm-bars i:nth-child(odd) { background: linear-gradient(180deg, var(--tk-teal), #5cc3b9); }
.float-chip { position: absolute; background: #fff; color: var(--tk-ink); border-radius: 14px; padding: .6rem .85rem; box-shadow: var(--tk-shadow); font-size: .82rem; display: flex; align-items: center; gap: .55rem; font-weight: 600; }
.float-chip i { font-size: 1.15rem; }
.float-chip.c1 { left: -28px; bottom: 34px; }
.float-chip.c2 { right: -18px; top: -18px; }

/* ---------- Bölümler ---------- */
.section { padding: 5rem 0; }
.section-sm { padding: 3.5rem 0; }
.eyebrow { display: inline-block; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--tk-teal); margin-bottom: .6rem; }
.section-title { font-size: clamp(1.6rem, 2.6vw, 2.25rem); font-weight: 800; letter-spacing: -.03em; }
.section-lead { color: var(--tk-muted); max-width: 640px; }
.bg-surface { background: #fff; }

.trust-bar { background: #fff; border-bottom: 1px solid var(--tk-line); }
.trust-item { display: flex; align-items: center; gap: .7rem; font-size: .9rem; color: var(--tk-muted); }
.trust-item i { font-size: 1.4rem; color: var(--tk-teal); }
.trust-item b { color: var(--tk-ink); display: block; font-size: .95rem; }

/* ---------- Kartlar ---------- */
.card { border: 1px solid var(--tk-line); border-radius: var(--tk-radius); box-shadow: var(--tk-shadow-sm); }
.card-header { background: transparent; border-bottom: 1px solid var(--tk-line); font-weight: 700; padding: 1rem 1.25rem; }
.service-card { border: 1px solid var(--tk-line); border-radius: 20px; box-shadow: var(--tk-shadow-sm); transition: transform .2s ease, box-shadow .2s ease, border-color .2s; height: 100%; background: #fff; }
.service-card:hover { transform: translateY(-4px); box-shadow: var(--tk-shadow); border-color: rgba(245,166,35,.45); }
.service-icon { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, rgba(245,166,35,.18), rgba(245,166,35,.06)); color: var(--tk-amber-dark); font-size: 1.5rem; }
.price-tag { font-weight: 800; font-size: 1.25rem; color: var(--tk-ink); letter-spacing: -.02em; }
.price-tag small { font-weight: 500; font-size: .75rem; color: var(--tk-muted); }

.feature-card { background: #fff; border: 1px solid var(--tk-line); border-radius: 18px; padding: 1.6rem; height: 100%; transition: box-shadow .2s; }
.feature-card:hover { box-shadow: var(--tk-shadow); }
.feature-card .fi { width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; font-size: 1.3rem; margin-bottom: 1rem; }
.fi-amber { background: rgba(245,166,35,.14); color: var(--tk-amber-dark); }
.fi-teal { background: rgba(18,137,127,.12); color: var(--tk-teal); }
.fi-navy { background: rgba(11,37,69,.08); color: var(--tk-navy); }
.fi-rose { background: rgba(225,29,72,.08); color: #e11d48; }

.step-card { position: relative; padding: 1.6rem; background: #fff; border-radius: 18px; border: 1px solid var(--tk-line); height: 100%; }
.step-card .step-no { width: 42px; height: 42px; border-radius: 12px; background: var(--tk-navy); color: #fff; display: grid; place-items: center; font-weight: 800; margin-bottom: 1rem; }
.step-badge { width: 40px; height: 40px; border-radius: 50%; background: var(--tk-navy); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; }

.cta-band { background: linear-gradient(120deg, var(--tk-navy) 0%, var(--tk-navy-2) 60%, var(--tk-teal) 140%); color: #fff; border-radius: 24px; padding: 3rem; position: relative; overflow: hidden; }
.cta-band h2 { color: #fff; }
.cta-band::after { content: "☀"; position: absolute; right: -10px; top: -40px; font-size: 13rem; color: rgba(245,166,35,.12); line-height: 1; }

.page-hero { background: linear-gradient(135deg, #071a33 0%, #0b2545 60%, #13315c 100%); color: #fff; padding: 3.2rem 0 3rem; position: relative; overflow: hidden; }
.page-hero h1 { color: #fff; font-weight: 800; }
.page-hero p { color: rgba(255,255,255,.72); }
.page-hero::after { content: ""; position: absolute; right: -120px; top: -120px; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(circle, rgba(245,166,35,.25), transparent 70%); }

/* ---------- Footer ---------- */
.site-footer { background: var(--tk-navy-dark); }
.site-footer h6 { font-size: .8rem; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 1rem; }
.footer-link { color: rgba(255,255,255,.65); text-decoration: none; line-height: 2; }
.footer-link:hover { color: #fff; }
.pay-logos { display: flex; gap: .5rem; flex-wrap: wrap; }
.pay-logos span { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.8); border-radius: 8px; padding: .25rem .6rem; font-size: .75rem; font-weight: 600; }

/* ---------- Tablolar (tüm site/panel/admin) ---------- */
.table-responsive { border-radius: var(--tk-radius); }
.table-responsive > .table, .table.table-modern { background: #fff; border-radius: var(--tk-radius); overflow: hidden; border: 1px solid var(--tk-line) !important; box-shadow: var(--tk-shadow-sm); margin-bottom: 1rem; border-collapse: separate; border-spacing: 0; }
.table-responsive > .table.table-bordered > :not(caption) > * > *, .table.table-modern > :not(caption) > * > * { border-width: 0 0 1px 0; border-color: var(--tk-line); }
.table-responsive > .table > tbody > tr:last-child > *, .table.table-modern > tbody > tr:last-child > * { border-bottom-width: 0; }
.table > thead.table-light > tr > th, .table > thead > tr > th { background: #f8fafc; color: var(--tk-muted); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; padding-top: .8rem; padding-bottom: .8rem; white-space: nowrap; }
.table > tbody > tr > td { padding-top: .8rem; padding-bottom: .8rem; }
.table-hover > tbody > tr:hover > * { --bs-table-bg-state: #f8fafc; }
.table tfoot td, .table tfoot th { background: #f8fafc; font-weight: 700; }

.badge { font-weight: 600; border-radius: 6px; padding: .4em .65em; letter-spacing: .01em; }
.badge.bg-warning { background: #fff3d6 !important; color: #8a5a00 !important; }
.badge.bg-success { background: #dcf5ec !important; color: #0b6b4b !important; }
.badge.bg-info { background: #dff1fb !important; color: #0b5b80 !important; }
.badge.bg-danger { background: #fde4e7 !important; color: #b4232f !important; }
.badge.bg-secondary { background: #eef1f5 !important; color: #4b5869 !important; }
.badge.bg-dark { background: #e5e8ee !important; color: #1f2937 !important; }
.badge.bg-primary { background: #e3ebf7 !important; color: var(--tk-navy) !important; }
.badge.solid { color: #fff !important; }
.badge.solid.bg-danger { background: #dc3545 !important; }
.badge.solid.bg-warning { background: var(--tk-amber) !important; color: #1c1200 !important; }

.form-control, .form-select { border-color: #dbe2ea; border-radius: 10px; }
.form-control:focus, .form-select:focus { border-color: var(--tk-amber); box-shadow: 0 0 0 .2rem rgba(245,166,35,.2); }
.form-label { font-weight: 600; font-size: .88rem; color: #334155; }
.alert { border-radius: 12px; border-width: 0; }
.alert-warning { background: #fff6e0; color: #6e4800; }
.alert-success { background: #e2f6ee; color: #0b5b40; }
.alert-danger { background: #fde8ea; color: #8f1d29; }
.alert-info { background: #e3f2fb; color: #0b4d6b; }

/* ---------- Müşteri paneli ---------- */
.panel-sidebar { background: #fff; border-radius: 18px; border: 1px solid var(--tk-line); box-shadow: var(--tk-shadow-sm); position: sticky; top: 90px; }
.panel-user { display: flex; align-items: center; gap: .75rem; }
.avatar { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; font-weight: 800; color: #fff; background: linear-gradient(135deg, var(--tk-navy), var(--tk-teal)); flex-shrink: 0; }
.avatar.sm { width: 32px; height: 32px; border-radius: 10px; font-size: .8rem; }
.avatar.amber { background: linear-gradient(135deg, var(--tk-amber), #ffcf7a); color: #1c1200; }
.panel-sidebar .nav-link { color: #334155; border-radius: 10px; display: flex; align-items: center; gap: .65rem; font-weight: 500; padding: .6rem .75rem; }
.panel-sidebar .nav-link i { font-size: 1.05rem; opacity: .75; }
.panel-sidebar .nav-link:hover { background: var(--tk-bg); }
.panel-sidebar .nav-link.active { background: var(--tk-navy); color: #fff; }
.panel-sidebar .nav-link.active i { opacity: 1; }
.panel-sidebar .nav-link .badge { margin-left: auto; }

.stat-card { background: #fff; border: 1px solid var(--tk-line); border-radius: 16px; padding: 1.1rem 1.2rem; display: flex; align-items: center; gap: .9rem; height: 100%; box-shadow: var(--tk-shadow-sm); transition: box-shadow .15s, transform .15s; color: inherit; text-decoration: none; }
a.stat-card:hover { box-shadow: var(--tk-shadow); transform: translateY(-2px); color: inherit; }
.stat-card .si { width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; font-size: 1.3rem; flex-shrink: 0; }
.stat-card .sv { font-size: 1.35rem; font-weight: 800; line-height: 1.15; letter-spacing: -.02em; }
.stat-card .sl { font-size: .78rem; color: var(--tk-muted); font-weight: 500; }
.stat-card.alert-ring { border-color: rgba(220,53,69,.45); box-shadow: 0 0 0 3px rgba(220,53,69,.08); }

.page-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.page-head h1 { margin: 0; font-size: 1.55rem; }
.page-head .sub { color: var(--tk-muted); font-size: .9rem; margin-top: .2rem; }

.empty-state { text-align: center; padding: 3.5rem 1.5rem; }
.empty-state i { font-size: 2.6rem; color: #c3cdd9; display: block; margin-bottom: .8rem; }

/* ---------- Mesajlaşma ---------- */
.chat-thread { display: flex; flex-direction: column; gap: 1rem; }
.chat-row { display: flex; gap: .7rem; align-items: flex-end; }
.chat-row.me { flex-direction: row-reverse; }
.msg-bubble { border-radius: 16px; padding: .8rem 1rem; max-width: 78%; background: #f1f4f8; border: 1px solid #e7ecf2; }
.msg-bubble.customer { background: #f1f4f8; }
.msg-bubble.admin { background: #e7f5f3; border-color: #cfe9e5; }
.chat-row:not(.me) .msg-bubble { border-bottom-left-radius: 4px; }
.chat-row.me .msg-bubble { border-bottom-right-radius: 4px; }
.chat-row .msg-bubble.admin { margin-left: 0; }
.msg-meta { font-size: .75rem; color: var(--tk-muted); margin-bottom: .25rem; }
.msg-meta b { color: var(--tk-ink); font-weight: 700; }
.msg-file { display: inline-flex; align-items: center; gap: .4rem; background: #fff; border: 1px solid var(--tk-line); border-radius: 8px; padding: .3rem .6rem; font-size: .8rem; margin-top: .45rem; text-decoration: none; }
.chat-composer { border-top: 1px solid var(--tk-line); padding-top: 1rem; margin-top: 1.25rem; }
.unread-dot { width: 9px; height: 9px; border-radius: 50%; background: #dc3545; display: inline-block; box-shadow: 0 0 0 3px rgba(220,53,69,.15); }
.ticket-meta dt { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--tk-muted); font-weight: 700; }
.ticket-meta dd { margin-bottom: .8rem; font-weight: 500; }

.char-counter { font-size: .8rem; color: #6c757d; }
.blog-card { overflow: hidden; }
.blog-card img, .ref-card img { border-radius: 16px 16px 0 0; object-fit: cover; height: 190px; width: 100%; }

/* ---------- Talep durum çizgisi ---------- */
.req-steps { display: flex; align-items: flex-start; list-style: none; padding: 0; margin: 0; }
.req-steps li { flex: 1; text-align: center; position: relative; font-size: .8rem; color: #9aa5b1; }
.req-steps li::before { content: ""; position: absolute; top: 15px; left: -50%; width: 100%; height: 3px; background: #e3e7ec; z-index: 0; border-radius: 3px; }
.req-steps li:first-child::before { display: none; }
.req-steps .dot { width: 32px; height: 32px; border-radius: 50%; background: #e3e7ec; color: #fff; display: flex; align-items: center; justify-content: center; margin: 0 auto 6px; font-weight: 700; font-size: .78rem; position: relative; z-index: 1; }
.req-steps li.done .dot { background: var(--tk-teal); }
.req-steps li.done::before { background: var(--tk-teal); }
.req-steps li.current .dot { background: var(--tk-amber); color: #1c1200; box-shadow: 0 0 0 5px rgba(245,166,35,.22); }
.req-steps li.done, .req-steps li.current { color: var(--tk-ink); font-weight: 600; }
.req-steps.cancelled .dot { background: #dc3545 !important; }
.req-steps.cancelled::before { background: #dc3545 !important; }

.file-row { border: 1px solid #eef0f3; border-radius: 10px; padding: .6rem .9rem; }
.file-row + .file-row { margin-top: .5rem; }

/* ---------- Ödeme / checkout ---------- */
.checkout-steps { display: flex; gap: .5rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
.checkout-steps span { display: inline-flex; align-items: center; gap: .45rem; font-size: .82rem; font-weight: 600; color: var(--tk-muted); padding: .4rem .8rem; border-radius: 999px; background: #fff; border: 1px solid var(--tk-line); }
.checkout-steps span.on { background: var(--tk-navy); color: #fff; border-color: var(--tk-navy); }
.checkout-steps span.ok { background: #dcf5ec; color: #0b6b4b; border-color: #bfe9d8; }
.summary-line { display: flex; justify-content: space-between; padding: .55rem 0; border-bottom: 1px dashed var(--tk-line); font-size: .92rem; }
.summary-line:last-child { border-bottom: 0; }
.summary-total { display: flex; justify-content: space-between; align-items: baseline; padding-top: .9rem; margin-top: .4rem; border-top: 2px solid var(--tk-ink); }
.summary-total b { font-size: 1.6rem; letter-spacing: -.02em; }
.secure-note { display: flex; gap: .6rem; align-items: flex-start; font-size: .8rem; color: var(--tk-muted); }
.secure-note i { color: var(--tk-teal); font-size: 1.1rem; }
.provider-badge { display: inline-flex; align-items: center; gap: .4rem; font-size: .78rem; font-weight: 700; border-radius: 8px; padding: .3rem .6rem; background: #eef3fb; color: var(--tk-navy); }
.paytr-frame { width: 100%; border: 0; min-height: 600px; border-radius: 12px; }
.provider-option { border: 2px solid var(--tk-line); border-radius: 14px; padding: 1rem 1.1rem; cursor: pointer; transition: border-color .15s, background .15s; display: block; height: 100%; }
.provider-option:hover { border-color: #c7d2df; }
.btn-check:checked + .provider-option { border-color: var(--tk-amber); background: #fffaf0; box-shadow: 0 0 0 3px rgba(245,166,35,.15); }

/* ---------- Makbuz ---------- */
.receipt { background: #fff; max-width: 820px; margin: 0 auto; border-radius: 18px; border: 1px solid var(--tk-line); box-shadow: var(--tk-shadow); overflow: hidden; }
.receipt-head { background: linear-gradient(120deg, var(--tk-navy-dark), var(--tk-navy-2)); color: #fff; padding: 1.8rem 2rem; display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.receipt-head h1 { color: #fff; font-size: 1.35rem; margin: 0; }
.receipt-head .rno { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 1rem; color: #ffd27a; }
.receipt-body { padding: 2rem; }
.receipt-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.receipt-box h3 { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: var(--tk-muted); margin-bottom: .5rem; }
.receipt-box p { margin: 0; font-size: .9rem; line-height: 1.55; }
.receipt-table { width: 100%; margin-top: 1.8rem; border-collapse: collapse; font-size: .9rem; }
.receipt-table th { text-align: left; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--tk-muted); border-bottom: 2px solid var(--tk-ink); padding: .6rem .4rem; }
.receipt-table td { padding: .8rem .4rem; border-bottom: 1px solid var(--tk-line); }
.receipt-total { display: flex; justify-content: flex-end; margin-top: 1.2rem; }
.receipt-total div { min-width: 260px; }
.receipt-stamp { display: inline-block; border: 3px solid #12897f; color: #12897f; border-radius: 10px; padding: .3rem .9rem; font-weight: 800; letter-spacing: .1em; transform: rotate(-6deg); font-size: 1.1rem; }
.receipt-stamp.refunded { border-color: #b4232f; color: #b4232f; }
.receipt-foot { background: #f8fafc; border-top: 1px solid var(--tk-line); padding: 1rem 2rem; font-size: .78rem; color: var(--tk-muted); }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .85em; }

/* ---------- Admin ---------- */
.admin-body { background: #f1f4f9; }
.admin-shell { display: flex; min-height: 100vh; }
.admin-sidebar { background: var(--tk-navy-dark); width: 250px; flex-shrink: 0; position: sticky; top: 0; height: 100vh; overflow-y: auto; padding: 1.2rem .9rem; }
.admin-sidebar .brand { color: #fff; font-weight: 800; display: flex; align-items: center; gap: .6rem; padding: 0 .5rem 1.2rem; font-size: 1.1rem; }
.admin-sidebar .nav-section { font-size: .66rem; text-transform: uppercase; letter-spacing: .12em; color: rgba(255,255,255,.35); font-weight: 700; padding: 1rem .75rem .4rem; }
.admin-sidebar .nav-link { color: rgba(255,255,255,.7); display: flex; align-items: center; gap: .7rem; padding: .55rem .75rem; border-radius: 10px; font-size: .9rem; font-weight: 500; }
.admin-sidebar .nav-link i { font-size: 1.05rem; width: 18px; text-align: center; }
.admin-sidebar .nav-link:hover { color: #fff; background: rgba(255,255,255,.06); }
.admin-sidebar .nav-link.active { color: #fff; background: linear-gradient(90deg, rgba(245,166,35,.22), rgba(245,166,35,.06)); box-shadow: inset 3px 0 0 var(--tk-amber); }
.admin-sidebar .nav-link .badge { margin-left: auto; }
.admin-main { flex: 1; min-width: 0; }
.admin-topbar { background: #fff; border-bottom: 1px solid var(--tk-line); padding: .75rem 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; position: sticky; top: 0; z-index: 10; }
.admin-content { padding: 1.75rem 1.75rem 3rem; }
.provider-pill { display: inline-flex; align-items: center; gap: .4rem; font-size: .78rem; font-weight: 600; padding: .3rem .7rem; border-radius: 999px; background: #eef3fb; color: var(--tk-navy); text-decoration: none; }
.provider-pill .dot { width: 7px; height: 7px; border-radius: 50%; background: #22c55e; }
.provider-pill.off .dot { background: #dc3545; }
.filter-bar { background: #fff; border: 1px solid var(--tk-line); border-radius: 14px; padding: .9rem 1rem; margin-bottom: 1rem; }
.log-pre { background: #0f172a; color: #e2e8f0; border-radius: 10px; padding: .8rem 1rem; font-size: .75rem; max-height: 280px; overflow: auto; white-space: pre-wrap; word-break: break-all; margin: 0; }
.timeline { list-style: none; padding: 0; margin: 0; position: relative; }
.timeline::before { content: ""; position: absolute; left: 11px; top: 4px; bottom: 4px; width: 2px; background: var(--tk-line); }
.timeline li { position: relative; padding-left: 2.2rem; padding-bottom: 1.1rem; }
.timeline li .tl-dot { position: absolute; left: 4px; top: 3px; width: 16px; height: 16px; border-radius: 50%; background: #cbd5e1; border: 3px solid #fff; box-shadow: 0 0 0 1px var(--tk-line); }
.timeline li.ok .tl-dot { background: #22c55e; }
.timeline li.err .tl-dot { background: #dc3545; }

@media (max-width: 991.98px) {
  .admin-sidebar { position: fixed; left: -260px; z-index: 1050; transition: left .2s; }
  .admin-sidebar.show { left: 0; box-shadow: var(--tk-shadow-lg); }
  .admin-content { padding: 1.2rem 1rem 2.5rem; }
  .float-chip { display: none; }
  .hero { padding: 3.5rem 0 4rem; }
  .cta-band { padding: 2rem 1.5rem; }
}
@media (max-width: 575.98px) {
  .receipt-grid { grid-template-columns: 1fr; }
  .receipt-head, .receipt-body { padding: 1.25rem; }
  .msg-bubble { max-width: 90%; }
}

/* ---------- Yazdırma ---------- */
@media print {
  body { background: #fff !important; }
  .site-navbar, .site-footer, .no-print, .panel-sidebar, .admin-sidebar, .admin-topbar { display: none !important; }
  .receipt { box-shadow: none; border: 0; max-width: none; }
  .receipt-head { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .admin-content, main { padding: 0 !important; }
}

/* ---------- Logo ---------- */
.tk-logo { display: inline-flex; align-items: center; gap: calc(var(--tk-logo-size) * .3); line-height: 1; text-decoration: none; vertical-align: middle; }
.tk-logo-mark { display: block; flex-shrink: 0; border-radius: 26%; }
.tk-logo-text { display: flex; flex-direction: column; justify-content: center; gap: calc(var(--tk-logo-size) * .1); }
.tk-logo-word { font-family: "Plus Jakarta Sans", system-ui, sans-serif; font-size: calc(var(--tk-logo-size) * .56); letter-spacing: .01em; white-space: nowrap; }
.tk-logo-word .w1 { font-weight: 800; }
.tk-logo-word .w2 { font-weight: 400; color: #38bdf8; margin-left: .22em; }
.tk-logo-word .w3 { font-weight: 800; color: var(--tk-amber); margin-left: .16em; }
.tk-logo-tag { font-size: calc(var(--tk-logo-size) * .2); font-weight: 600; letter-spacing: .22em; text-transform: uppercase; white-space: nowrap; }
.tk-logo--light .w1 { color: #fff; }
.tk-logo--light .tk-logo-tag { color: rgba(255,255,255,.55); }
.tk-logo--dark .w1 { color: var(--tk-navy); }
.tk-logo--dark .w2 { color: #0284c7; }
.tk-logo--dark .tk-logo-tag { color: var(--tk-muted); }

/* ---------- Ürün: kimin için ---------- */
.audience-box { background: var(--tk-bg); border-radius: 14px; padding: 1.25rem; }
.audience-item { display: flex; gap: .6rem; align-items: flex-start; background: #fff; border: 1px solid var(--tk-line); border-radius: 10px; padding: .65rem .8rem; font-size: .9rem; height: 100%; }
.audience-item i { color: var(--tk-teal); font-size: 1.1rem; }

/* ---------- Hesaplayıcı ---------- */
.calc-card { background: #fff; border: 1px solid var(--tk-line); border-radius: 20px; box-shadow: var(--tk-shadow); }
.calc-seg .btn { flex: 1; }
.calc-result { background: linear-gradient(135deg, #071a33, #13315c); color: #fff; border-radius: 20px; padding: 1.6rem; height: 100%; }
.calc-result .kpi { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); border-radius: 14px; padding: .9rem 1rem; height: 100%; }
.calc-result .kpi .v { font-size: 1.45rem; font-weight: 800; letter-spacing: -.02em; line-height: 1.15; }
.calc-result .kpi .l { font-size: .75rem; color: rgba(255,255,255,.6); }
.calc-result .kpi.hl { background: rgba(245,166,35,.15); border-color: rgba(245,166,35,.4); }
.calc-result .kpi.hl .v { color: #ffd27a; }
.calc-bars { display: flex; align-items: flex-end; gap: 5px; height: 110px; }
.calc-bars div { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; height: 100%; justify-content: flex-end; }
.calc-bars i { display: block; width: 100%; border-radius: 5px 5px 2px 2px; background: linear-gradient(180deg, #fbbf24, #f59e0b); min-height: 3px; }
.calc-bars span { font-size: .62rem; color: rgba(255,255,255,.55); }
.calc-note { font-size: .75rem; color: var(--tk-muted); }

/* ---------- Çerez onay bandı ---------- */
.cookie-banner { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 1080; max-width: 880px; margin: 0 auto; background: rgba(7,26,51,.97); color: #fff; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; box-shadow: var(--tk-shadow-lg); padding: 1rem 1.2rem; transform: translateY(20px); opacity: 0; transition: transform .25s ease, opacity .25s ease; }
.cookie-banner.show { transform: none; opacity: 1; }
.cookie-banner a { color: #ffd27a; }
.cookie-inner { display: flex; align-items: center; gap: 1rem; }
.cookie-text { flex: 1; color: rgba(255,255,255,.85); }
.cookie-actions { display: flex; gap: .5rem; flex-shrink: 0; }
@media (max-width: 640px) { .cookie-inner { flex-direction: column; align-items: stretch; } .cookie-actions .btn { flex: 1; } }
@media print { .cookie-banner { display: none !important; } }

/* ---------- Yasal metinler ---------- */
.legal-doc { font-size: .93rem; line-height: 1.65; }
.legal-doc ol { padding-left: 1.2rem; }
.legal-doc ol li { margin-bottom: .35rem; }
.legal-box { max-height: 340px; overflow-y: auto; border: 1px solid var(--tk-line); border-top: 0; border-radius: 0 0 12px 12px; padding: 1rem 1.2rem; font-size: .85rem; line-height: 1.6; background: #fcfdfe; }
.legal-box h2 { font-size: .9rem !important; }

/* Menüde dikkat çeken "Ürünler" butonu */
.site-navbar .nav-link.nav-cta { background: rgba(245,166,35,.14); border: 1px solid rgba(245,166,35,.55); color: #ffd27a; font-weight: 700; padding: .45rem 1.6rem !important; border-radius: 999px; min-width: 150px; text-align: center; transition: background .15s, color .15s, transform .15s; }
.site-navbar .nav-link.nav-cta:hover, .site-navbar .nav-link.nav-cta.active { background: var(--tk-amber); border-color: var(--tk-amber); color: #1c1200; transform: translateY(-1px); }
@media (max-width: 991.98px) { .site-navbar .nav-link.nav-cta { margin: .4rem 0; display: block; } }
