/* KIT — her kafe sayfasının altında yatan ortak taban.
   Renk, yazı tipi ve düzen kafenin kendi CSS'inde; burada yalnızca sıfırlama ve yardımcılar var. */

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

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}
html.anim { scroll-behavior: auto; }

body {
  margin: 0;
  min-height: 100vh;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
  overflow-x: hidden;
}
@supports (overflow: clip) { body { overflow-x: clip; } }

img, svg, canvas { display: block; max-width: 100%; }
a { color: inherit; }
button { font: inherit; color: inherit; }
a:focus-visible, button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; border-radius: 6px; }

.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* Harf harf açılan başlıklar (KIT.split) */
.split .word {
  display: inline-block;
  overflow: hidden;
  padding: .14em .05em .12em;
  margin: -.14em -.05em -.12em;
  vertical-align: top;
  white-space: nowrap;
}
.split .char { display: inline-block; will-change: transform; }

/* Kumlu doku */
.grain {
  position: fixed;
  inset: 0;
  z-index: 90;
  pointer-events: none;
  opacity: .06;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

/* Kayan yazı şeridi (yapı) */
.marquee { overflow: hidden; }
.marquee__track { display: flex; width: max-content; animation: kit-marquee 40s linear infinite; }
.anim .marquee__track { animation: none; }
.marquee__seq { display: flex; align-items: center; white-space: nowrap; }
@keyframes kit-marquee { to { transform: translateX(-50%); } }

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