:root{
  --bg:#fafaf9; --fg:#18181b; --muted:#71717a; --line:#e4e4e7; --cell:#f1f1ef; --cell-hover:#e7e7e4; --accent:#2f5bea;
  --min:56px; --gap:1px;
}
:root[data-theme="dark"]{
  --bg:#0f0f11; --fg:#f4f4f5; --muted:#a1a1aa; --line:#27272a; --cell:#18181b; --cell-hover:#232327; --accent:#7c9bff;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0f0f11; --fg:#f4f4f5; --muted:#a1a1aa; --line:#27272a; --cell:#18181b; --cell-hover:#232327; --accent:#7c9bff;
  }
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.top{display:flex;align-items:center;gap:16px;padding:10px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:5;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:8px;color:inherit;text-decoration:none;font-weight:700;font-size:18px;letter-spacing:-.02em}
.brand-mark{width:18px;height:18px;border-radius:4px;background:
  linear-gradient(var(--accent),var(--accent)) 0 0/8px 8px no-repeat,
  linear-gradient(var(--fg),var(--fg)) 10px 0/8px 8px no-repeat,
  linear-gradient(var(--fg),var(--fg)) 0 10px/8px 8px no-repeat,
  linear-gradient(var(--accent),var(--accent)) 10px 10px/8px 8px no-repeat}
.tagline{margin:0;color:var(--muted);flex:1;min-width:120px}
.top-actions{display:flex;align-items:center;gap:10px}
.count{color:var(--muted);font-size:13px}
.btn{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:8px;background:var(--fg);color:var(--bg);text-decoration:none;font-weight:600}
.icon-btn{min-width:44px;min-height:44px;border:1px solid var(--line);background:transparent;color:var(--fg);border-radius:8px;font-size:18px;cursor:pointer}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--min),1fr));gap:var(--gap);background:var(--line);padding:var(--gap);border-bottom:1px solid var(--line)}
.cell{position:relative;aspect-ratio:1/1;background:var(--cell);display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--muted);overflow:hidden}
.cell:hover{background:var(--cell-hover)}
/* Logo penceresi: hücrenin %84'ü. app.js logodaki boş kenarları algılayınca pencereyi
   içeriğin oranına göre yeniden boyutlar; logo asla esnetilmez, yalnızca boş kenar dışarıda kalır. */
.cell .logo{position:absolute;left:8%;top:8%;width:84%;height:84%;overflow:hidden;display:block;pointer-events:none}
.cell .logo img{position:absolute;left:0;top:0;width:100%;height:100%;max-width:none;object-fit:contain;display:block}
.cell.empty{font-size:18px;opacity:.55}
.cell.empty:hover{opacity:1;color:var(--accent)}
@media (min-width:700px){:root{--min:60px}}
@media (min-width:1200px){:root{--min:48px}}
@media (min-width:1800px){:root{--min:52px}}

[hidden]{display:none!important}
.cats{display:flex;gap:8px;overflow-x:auto;padding:12px 16px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.cats::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font:inherit;font-size:14px;white-space:nowrap;cursor:pointer}
.chip:hover{color:var(--fg);border-color:var(--muted)}
.chip[aria-pressed="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg);font-weight:600}
.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (pointer:coarse){.chip{min-height:44px}}
.noresult{text-align:center;color:var(--muted);padding:48px 16px;margin:0}
.apply{max-width:640px;margin:0 auto;padding:48px 16px;text-align:center}
.apply h2{margin:0 0 8px;font-size:26px;letter-spacing:-.02em}
.apply p{color:var(--muted)}
.selected{color:var(--accent)!important;font-weight:600}
.note{font-size:13px;border:1px dashed var(--line);border-radius:8px;padding:8px 12px;display:inline-block}
.form{text-align:left;display:grid;gap:12px;margin-top:20px}
.field{display:grid;gap:4px}
.field label{font-size:13px;color:var(--muted)}
.form input[type=text],.form input[type=email],.form input[type=tel],.form input[type=number],.form input[type=date],.form select{min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--fg);font:inherit;width:100%}
.form input[type=file]{font:inherit;color:var(--muted);min-height:44px;padding-top:8px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.row2{grid-template-columns:1fr}}
.e{color:#c62828;font-size:13px}
:root[data-theme="dark"] .e{color:#ff8a80}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .e{color:#ff8a80}}
.check label{display:flex;gap:8px;align-items:flex-start;color:var(--fg);font-size:14px}
.check input{margin-top:4px;width:18px;height:18px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.submit{justify-content:center;border:0;font:inherit;font-weight:600;cursor:pointer}
.submit:disabled{opacity:.6}
.applymsg{margin:0;min-height:1.4em}
.applymsg.ok{color:#1f9d55}
.applymsg.bad{color:#c62828}
.foot a{color:inherit}
.foot{padding:16px;text-align:center;color:var(--muted);border-top:1px solid var(--line)}

/* ---------- Firma tanıtım kartı ---------- */
html.card-open{overflow:hidden}
.card-dlg{border:0;padding:0;margin:auto;background:transparent;color:var(--fg);width:min(calc(100vw - 32px),400px);max-height:calc(100dvh - 32px);overflow:visible}
.card-dlg::backdrop{background:rgba(9,9,11,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.card{position:relative;background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:28px 22px 20px;text-align:center;
  box-shadow:0 24px 60px rgba(0,0,0,.28);max-height:calc(100dvh - 32px);overflow:auto;overflow-wrap:anywhere}
.card-dlg[open] .card{animation:card-in .18s ease-out}
.card-dlg[open]::backdrop{animation:fade-in .18s ease-out}
@keyframes card-in{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.card-dlg[open] .card,.card-dlg[open]::backdrop{animation:none}}
.card-x{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:26px;line-height:1;cursor:pointer}
.card-x:hover{background:var(--cell);color:var(--fg)}
.card-logo{position:relative;width:112px;height:112px;margin:0 auto 16px;border-radius:16px;background:var(--cell);border:1px solid var(--line);overflow:hidden}
.card-logo .logo{position:absolute;left:8%;top:8%;width:84%;height:84%;overflow:hidden;display:block}
.card-logo img{position:absolute;left:0;top:0;width:100%;height:100%;max-width:none;object-fit:contain;display:block}
.card-cat{display:inline-block;margin:0 0 8px;padding:2px 10px;border:1px solid var(--line);border-radius:999px;font-size:13px;color:var(--muted)}
.card-cat[hidden],.card-desc[hidden]{display:none}
.card-name{margin:0 0 8px;font-size:22px;line-height:1.25;letter-spacing:-.01em}
.card-desc{margin:0 auto 4px;max-width:34ch;color:var(--muted);font-size:15px;line-height:1.55;text-wrap:pretty}
.card-go{display:flex;align-items:center;justify-content:center;gap:6px;min-height:50px;margin:20px 0 0;border-radius:12px;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;font-size:16px}
.card-go:hover{filter:brightness(1.08)}
:root[data-theme="dark"] .card-go{color:#0f0f11}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .card-go{color:#0f0f11}}
.card-host{margin:10px 0 0;font-size:13px;color:var(--muted)}
.card-host:empty{display:none}
@media (min-width:700px){.card{padding:32px 28px 24px}.card-logo{width:128px;height:128px}}
