/* ==========================================================================
   07 · UTILITIES — tek islevli yardimci siniflar
   Az sayida ve amaci belli. Yeni bilesen gerekiyorsa 04'e yazilir.
   ========================================================================== */

/* Renk */
.u-accent  { color: var(--c-accent-text); }
.u-forest  { color: var(--c-forest); }
.u-leaf    { color: var(--c-leaf-text); }
.u-ember   { color: var(--c-warm); }
.u-stone   { color: var(--c-muted); }

/* Sonuk metin. opacity DEGIL renk kullanilir: opacity ic ogeleri de
   soldurur ve icerideki baglantilarin kontrastini WCAG esiginin altina
   dusurur. color-mix yalnizca kendi rengini etkiler. */
.u-muted   { color: color-mix(in srgb, currentColor 82%, transparent); }

/* Tipografi */
.u-display {
  font-family: var(--f-display);
  font-variation-settings: var(--f-display-vars);
  font-weight: var(--w-display);
  letter-spacing: var(--ls-tight);
}
.u-mono   { font-family: var(--f-mono); }
.u-italic { font-style: italic; }
.u-lead   { font-size: var(--t-lead); }
.u-small  { font-size: 0.875rem; }

/* Satir uzunlugu — okunabilirlik icin 65-75 karakter */
.u-measure    { max-width: 68ch; }
.u-measure-sm { max-width: 46ch; }

/* Bosluk */
.u-mt-0 { margin-top: 0; }
.u-mt-3 { margin-top: var(--sp-3); }
.u-mt-4 { margin-top: var(--sp-4); }
.u-mt-5 { margin-top: var(--sp-5); }
.u-mt-6 { margin-top: var(--sp-6); }
.u-mt-7 { margin-top: var(--sp-7); }
.u-mb-0 { margin-bottom: 0; }
.u-mb-4 { margin-bottom: var(--sp-4); }
.u-mb-5 { margin-bottom: var(--sp-5); }
.u-mb-6 { margin-bottom: var(--sp-6); }

/* Yerlesim */
.u-flex     { display: flex; }
.u-wrap     { flex-wrap: wrap; }
.u-center   { align-items: center; }
.u-between  { justify-content: space-between; }
.u-col      { flex-direction: column; }
.u-gap-2    { gap: var(--sp-2); }
.u-gap-3    { gap: var(--sp-3); }
.u-gap-4    { gap: var(--sp-4); }
.u-gap-5    { gap: var(--sp-5); }
.u-gap-6    { gap: var(--sp-6); }
.u-grow     { flex: 1 1 auto; min-width: 0; }

/* Cizgi */
.rule { border-top: 1px solid var(--c-line); }

/* Gorunurluk */
.u-hide { display: none !important; }

@media (max-width: 699px)  { .u-hide-sm { display: none !important; } }
@media (min-width: 700px)  { .u-only-sm { display: none !important; } }
@media (max-width: 1023px) { .u-hide-md { display: none !important; } }
@media (min-width: 1024px) { .u-only-md { display: none !important; } }
