/* ============================================================
   Comfort Craft · Toptan Katalog
   Tasarım sistemi — ortak stil dosyası
   Palet: kağıt beyazı zemin · çivit mavisi yapı · jüt okra vurgu
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Archivo:wdth,wght@62..125,100..900&family=JetBrains+Mono:wght@400;500;700&display=swap');

:root{
  --paper:#FAF9F6;
  --surface:#FFFFFF;
  --surface-2:#F3F1EC;
  --ink:#14171F;
  --ink-2:#5A6070;
  --ink-3:#8B909C;
  --line:#E6E3DC;
  --line-2:#D5D1C7;
  --indigo:#1F3358;
  --indigo-2:#3B5AA6;
  --indigo-soft:#EEF1F8;
  --brand:#887970;        /* logodan alınan marka tonu */
  --brand-deep:#6B5D55;
  --brand-soft:#F3F0ED;
  --fiber:var(--brand);   /* eski isim — geriye dönük uyumluluk */
  --fiber-deep:var(--brand-deep);
  --fiber-soft:var(--brand-soft);
  --ok:#2E7D5B;
  --ok-soft:#E9F3EE;
  --warn:#B4472E;
  --warn-soft:#FBEDE9;

  --r-sm:6px; --r-md:10px; --r-lg:16px;
  --sh-1:0 1px 2px rgba(20,23,31,.05);
  --sh-2:0 4px 16px rgba(20,23,31,.08);
  --sh-3:0 16px 48px rgba(20,23,31,.16);

  --head:64px;
  --rail:264px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}

[hidden]{display:none!important}

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:14px;
  line-height:1.5;
  font-variation-settings:'wdth' 100;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.02em;line-height:1.15}

/* Genişletilmiş başlık karakteri — katalog/ticaret dili */
.disp{font-variation-settings:'wdth' 118;letter-spacing:-.01em;text-transform:none}

.mono{font-family:'JetBrains Mono',ui-monospace,monospace;font-variant-numeric:tabular-nums}

button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--indigo-2);text-decoration:none}

:focus-visible{outline:2px solid var(--indigo-2);outline-offset:2px;border-radius:4px}

::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:8px;border:3px solid transparent;background-clip:content-box}
::-webkit-scrollbar-thumb:hover{background:var(--ink-3);background-clip:content-box;border:3px solid transparent}

/* ---------- eyebrow / etiket ---------- */
.eyebrow{
  font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-3);font-variation-settings:'wdth' 110;
}

/* ---------- butonlar ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:38px;padding:0 16px;border-radius:var(--r-md);
  border:1px solid var(--line-2);background:var(--surface);color:var(--ink);
  font-size:13px;font-weight:600;white-space:nowrap;
  transition:background .15s var(--ease),border-color .15s var(--ease),transform .1s var(--ease);
}
.btn:hover{background:var(--surface-2);border-color:var(--ink-3)}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.45;pointer-events:none}

.btn-primary{background:var(--indigo);border-color:var(--indigo);color:#fff}
.btn-primary:hover{background:#182948;border-color:#182948}

.btn-wa{background:#1FA855;border-color:#1FA855;color:#fff}
.btn-wa:hover{background:#178A45;border-color:#178A45}

.btn-ghost{background:transparent;border-color:transparent}
.btn-ghost:hover{background:var(--surface-2)}

.btn-danger{color:var(--warn);border-color:var(--line-2)}
.btn-danger:hover{background:var(--warn-soft);border-color:var(--warn)}

.btn-sm{height:30px;padding:0 10px;font-size:12px;border-radius:var(--r-sm)}
.btn-lg{height:46px;padding:0 22px;font-size:14px}
.btn-block{width:100%}

.icon-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:var(--r-md);
  border:1px solid transparent;background:transparent;
}
.icon-btn:hover{background:var(--surface-2)}

/* ---------- form ---------- */
.field{display:flex;flex-direction:column;gap:6px}
.field > label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.input,.select,.textarea{
  width:100%;height:38px;padding:0 12px;
  background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-md);
  font-size:13px;transition:border-color .15s var(--ease),box-shadow .15s var(--ease);
}
.textarea{height:auto;padding:10px 12px;resize:vertical;min-height:78px;line-height:1.5}
.input:focus,.select:focus,.textarea:focus{
  outline:none;border-color:var(--indigo-2);box-shadow:0 0 0 3px rgba(59,90,166,.14);
}
.input::placeholder,.textarea::placeholder{color:var(--ink-3)}
.select{appearance:none;padding-right:32px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M3 4.5L6 8l3-3.5' fill='none' stroke='%235A6070' stroke-width='1.6' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;background-position:right 11px center;
}
.hint{font-size:11px;color:var(--ink-3);line-height:1.45}

/* anahtar */
.switch{position:relative;display:inline-block;width:40px;height:22px;flex:none}
.switch input{opacity:0;width:0;height:0;position:absolute}
.switch span{
  position:absolute;inset:0;background:var(--line-2);border-radius:22px;
  transition:background .18s var(--ease);
}
.switch span::after{
  content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;
  background:#fff;border-radius:50%;box-shadow:var(--sh-1);
  transition:transform .18s var(--ease);
}
.switch input:checked + span{background:var(--ok)}
.switch input:checked + span::after{transform:translateX(18px)}
.switch input:focus-visible + span{outline:2px solid var(--indigo-2);outline-offset:2px}

/* ---------- rozetler ---------- */
.badge{
  display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 8px;
  border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:.04em;
  background:var(--surface-2);color:var(--ink-2);
}
.badge-fiber{background:var(--fiber-soft);color:var(--fiber-deep)}
.badge-ok{background:var(--ok-soft);color:var(--ok)}
.badge-warn{background:var(--warn-soft);color:var(--warn)}
.badge-indigo{background:var(--indigo-soft);color:var(--indigo)}

/* ---------- kart yüzeyi ---------- */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}

/* ---------- iskelet yükleme ---------- */
@keyframes shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}
.skel{
  background:linear-gradient(90deg,var(--surface-2) 0%,#FFF 50%,var(--surface-2) 100%);
  background-size:800px 100%;animation:shimmer 1.3s infinite linear;border-radius:var(--r-md);
}

/* ---------- katman / kaplama ---------- */
.scrim{
  position:fixed;inset:0;background:rgba(20,23,31,.42);
  opacity:0;pointer-events:none;transition:opacity .25s var(--ease);z-index:60;
  backdrop-filter:blur(2px);
}
.scrim.open{opacity:1;pointer-events:auto}

.sheet{
  position:fixed;top:0;right:0;bottom:0;width:min(560px,100vw);
  background:var(--surface);z-index:70;display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .32s var(--ease);
  box-shadow:var(--sh-3);
}
.sheet.open{transform:translateX(0)}
.sheet-head{
  display:flex;align-items:center;gap:12px;padding:14px 18px;
  border-bottom:1px solid var(--line);flex:none;background:var(--surface);
}
.sheet-head h3{font-size:15px;flex:1;min-width:0}
.sheet-body{flex:1;overflow-y:auto;overscroll-behavior:contain}
.sheet-foot{
  flex:none;padding:14px 18px;border-top:1px solid var(--line);background:var(--surface);
}

/* ---------- yardımcılar ---------- */
.row{display:flex;align-items:center;gap:10px}
.spread{display:flex;align-items:center;justify-content:space-between;gap:10px}
.grow{flex:1;min-width:0}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.muted{color:var(--ink-2)}
.dim{color:var(--ink-3)}
.tiny{font-size:11px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.stack{display:flex;flex-direction:column}
.gap-4{gap:4px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}

/* ---------- bildirim ---------- */
#toast{
  position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);
  z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center;
  pointer-events:none;opacity:0;transition:opacity .2s var(--ease),transform .2s var(--ease);
}
#toast.show{opacity:1;transform:translate(-50%,0)}
.toast{
  background:var(--ink);color:#fff;padding:10px 16px;border-radius:var(--r-md);
  font-size:13px;font-weight:600;box-shadow:var(--sh-2);max-width:92vw;
}
.toast.err{background:var(--warn)}
.toast.ok{background:var(--ok)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
