/* Outfit — tüm sayfalarda bileşen stillerinden sonra yüklenen tipografi sistemi. */
:root {
  --font-family: "Outfit", sans-serif;
  --yed-font-family: var(--font-family);
  --sc-font-display: var(--font-family);
  --sc-font-text: var(--font-family);
  --fw-heading: 500;
  --fw-body: 400;
  --fw-navigation: 500;
  --fw-header-contact: 400;
  --fw-button: 600;
  --fw-label: 600;
  --fs-h1: clamp(2.625rem, 4.5vw, 4.5rem);
  --lh-h1: 1.05;
  --ls-h1: -.04em;
  --fs-h2: clamp(2.25rem, 3.5vw, 3.5rem);
  --lh-h2: 1.08;
  --ls-h2: -.035em;
  --fs-h3: clamp(1.875rem, 2.5vw, 2.5rem);
  --lh-h3: 1.12;
  --ls-h3: -.025em;
  --fs-product-title: calc((var(--fs-h2) + var(--fs-h3)) / 2);
  --lh-product-title: 1.1;
  --ls-product-title: -.03em;
  --fs-h4: 32px;
  --lh-h4: 1.20;
  --ls-h4: -.015em;
  --fs-h5: clamp(1.25rem, 1.5vw, 1.375rem);
  --lh-h5: 1.30;
  --ls-h5: -.01em;
  --fs-h6: 1.125rem;
  --lh-h6: 1.35;
  --ls-h6: 0;
  --fs-body-lg: clamp(1.125rem, 1.25vw, 1.25rem);
  --fs-body: clamp(1rem, 1.1vw, 1.0625rem);
  --fs-product-description: clamp(.875rem, calc(1.1vw - .125rem), .9375rem);
  --fw-product-description: 300;
  --fs-order-description: 1rem;
  --fs-small: .9375rem;
  --fs-label: .8125rem;
  --fs-subline: 10px;
  --size-subline-icon: 14px;
  --space-subline-after: 20px;
  --space-subline-icon: 12px;
  --fs-footer-meta: 11px;
  --fs-footer-duration: 9px;
  --fs-footer-legal: 13px;
  --fs-footer-link: 15px;
  --fw-footer-link: 400;
  --fs-footer-video: 18px;
  --lh-footer-copy: 1.4;
  --fs-navigation: 1rem;
  --fs-button: .9375rem;
  --lh-body-lg: 1.60;
  --lh-body: 1.4;
  --lh-small: 1.55;
  --lh-ui: 1.2;
  --ls-body-lg: -.005em;
  --ls-body: 0;
  --ls-button: -.01em;
  --ls-label: .10em;

  /* Önceki bileşen tokenları aynı sisteme yönlendirilir. */
  --h1-size: var(--fs-h1);
  --h1-leading: var(--lh-h1);
  --h1-tracking: var(--ls-h1);
  --yed-h1-size: var(--fs-h1);
  --yed-h1-weight: var(--fw-heading);
  --yed-h1-leading: var(--lh-h1);
  --yed-h1-tracking: var(--ls-h1);
  --h2-size: var(--fs-h2);
  --h2-leading: var(--lh-h2);
  --h2-tracking: var(--ls-h2);
  --yed-h2-size: var(--fs-h2);
  --yed-h2-weight: var(--fw-heading);
  --yed-h2-leading: var(--lh-h2);
  --yed-h2-tracking: var(--ls-h2);
  --h3-size: var(--fs-h3);
  --h3-leading: var(--lh-h3);
  --h3-tracking: var(--ls-h3);
  --yed-h3-size: var(--fs-h3);
  --yed-h3-weight: var(--fw-heading);
  --yed-h3-leading: var(--lh-h3);
  --yed-h3-tracking: var(--ls-h3);
  --h4-size: var(--fs-h4);
  --h4-leading: var(--lh-h4);
  --h4-tracking: var(--ls-h4);
  --yed-h4-size: var(--fs-h4);
  --yed-h4-weight: var(--fw-heading);
  --yed-h4-leading: var(--lh-h4);
  --yed-h4-tracking: var(--ls-h4);
  --h5-size: var(--fs-h5);
  --h5-leading: var(--lh-h5);
  --h5-tracking: var(--ls-h5);
  --yed-h5-size: var(--fs-h5);
  --yed-h5-weight: var(--fw-heading);
  --yed-h5-leading: var(--lh-h5);
  --yed-h5-tracking: var(--ls-h5);
  --h6-size: var(--fs-h6);
  --h6-leading: var(--lh-h6);
  --h6-tracking: var(--ls-h6);
  --yed-h6-size: var(--fs-h6);
  --yed-h6-weight: var(--fw-heading);
  --yed-h6-leading: var(--lh-h6);
  --yed-h6-tracking: var(--ls-h6);
  --p-size: var(--fs-body);
  --p-leading: var(--lh-body);
  --p-tracking: var(--ls-body);
  --small-size: var(--fs-small);
  --nav-size: var(--fs-navigation);
  --menu-link-size: var(--fs-navigation);
}

body, button, input, select, textarea {
  font-family: var(--font-family);
}
strong, b { font-weight: var(--fw-heading); }
:is(h1, h2, h3, h4, h5, h6) :is(span, em, strong, b) {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}
body {
  font-size: var(--fs-body);
  font-weight: var(--fw-body);
  line-height: var(--lh-body);
  letter-spacing: var(--ls-body);
}

/* Dar kapsamlı !important: eski sayfa/component özgüllüklerini tek sistemde toplar. */
h1 {
  font-family: var(--font-family) !important;
  font-size: var(--fs-h1) !important;
  font-weight: var(--fw-heading) !important;
  line-height: var(--lh-h1) !important;
  letter-spacing: var(--ls-h1) !important;
}

h2 {
  font-family: var(--font-family) !important;
  font-size: var(--fs-h2) !important;
  font-weight: var(--fw-heading) !important;
  line-height: var(--lh-h2) !important;
  letter-spacing: var(--ls-h2) !important;
}

h3 {
  font-family: var(--font-family) !important;
  font-size: var(--fs-h3) !important;
  font-weight: var(--fw-heading) !important;
  line-height: var(--lh-h3) !important;
  letter-spacing: var(--ls-h3) !important;
}

h4 {
  font-family: var(--font-family) !important;
  font-size: var(--fs-h4) !important;
  font-weight: var(--fw-heading) !important;
  line-height: var(--lh-h4) !important;
  letter-spacing: var(--ls-h4) !important;
}

h5 {
  font-family: var(--font-family) !important;
  font-size: var(--fs-h5) !important;
  font-weight: var(--fw-heading) !important;
  line-height: var(--lh-h5) !important;
  letter-spacing: var(--ls-h5) !important;
}

h6 {
  font-family: var(--font-family) !important;
  font-size: var(--fs-h6) !important;
  font-weight: var(--fw-heading) !important;
  line-height: var(--lh-h6) !important;
  letter-spacing: var(--ls-h6) !important;
}

body :is(p, li, dt, dd, label, .text-copy) {
  font-size: var(--fs-body) !important;
  font-weight: var(--fw-body) !important;
  line-height: var(--lh-body) !important;
  letter-spacing: var(--ls-body) !important;
}
body :is(.text-body-lg, .new-hero__content > p:not(.subline):not(.section-label),
  .scene-copy > p:not(.eyebrow), .about-hero__lead) {
  font-size: var(--fs-body-lg) !important;
  line-height: var(--lh-body-lg) !important;
  letter-spacing: var(--ls-body-lg) !important;
}
body :is(small, .text-small, .brand-info, .legal-band, .footer-legal,
  .flow-products__position, .uts-article__note, .video-copy p) {
  font-size: var(--fs-small) !important;
  font-weight: var(--fw-body) !important;
  line-height: var(--lh-small) !important;
  letter-spacing: var(--ls-body) !important;
}
body :is(.treeo-stat__value, .about-stat__value, .about-yildiz__stats dd) {
  font-size: var(--fs-h1) !important;
  font-weight: var(--fw-heading) !important;
  line-height: var(--lh-h1) !important;
  letter-spacing: var(--ls-h1) !important;
}
body :is(.nav-trigger, .nav-link, .utility-link, .desktop-nav a,
  .mega-links > a, .mega-family > a, .mega-link, .mega-product,
  .footer-link, .about-rail__item) {
  font-size: var(--fs-navigation) !important;
  font-weight: var(--fw-navigation) !important;
  line-height: var(--lh-ui) !important;
  letter-spacing: var(--ls-body) !important;
}
body :is(button, .button) {
  font-size: var(--fs-button) !important;
  font-weight: var(--fw-button) !important;
  line-height: var(--lh-ui) !important;
  letter-spacing: var(--ls-button) !important;
}
body :is(.eyebrow, .subline, .section-label, .section-intro__eyebrow,
  .treeo-about__eyebrow, .product-story__eyebrow, .order-delivery__eyebrow,
  .capabilities-work__eyebrow, .flow-kicker, .column-title, .brand-particle-kicker,
  .badge, .overline) {
  font-size: var(--fs-label) !important;
  font-weight: var(--fw-label) !important;
  line-height: var(--lh-ui) !important;
  letter-spacing: var(--ls-label) !important;
}
/* Menü düğmeleri, genel button stilinden sonra navigation rolünü korur. */
body .header :is(.nav-trigger, .nav-link, .utility-link) {
  font-size: var(--fs-navigation) !important;
  font-weight: var(--fw-navigation) !important;
  line-height: var(--lh-ui) !important;
  letter-spacing: var(--ls-body) !important;
}

/* Footer: menü ve küçük bilgi metinleri için yerel tipografi tercihleri. */
body .footer-shell .footer-link {
  font-size: var(--fs-footer-link) !important;
  font-weight: var(--fw-footer-link) !important;
}
body .footer-shell .footer-column-title {
  font-size: var(--fs-footer-meta) !important;
  font-weight: var(--fw-body) !important;
  line-height: var(--lh-ui) !important;
  letter-spacing: var(--ls-label) !important;
  text-transform: uppercase;
}
body .footer-shell .legal-copy,
body .footer-shell .legal-links,
body .footer-shell .legal-links a {
  font-size: var(--fs-footer-legal) !important;
  font-weight: var(--fw-body) !important;
}
body .footer-shell .brand-info,
body .footer-shell .brand-info p {
  line-height: var(--lh-footer-copy) !important;
}
body .footer-shell .brand-info__highlight strong {
  font-weight: var(--fw-heading);
}
body .footer-shell .video-title {
  font-size: var(--fs-footer-video) !important;
}
body .footer-shell .duration {
  font-size: var(--fs-footer-duration) !important;
}

/* Tek subline sistemi: zemin rengine uygun metin ve değişmeyen marka yıldızı. */
body .subline {
  --fs-label: var(--fs-subline);
  display: flex;
  align-items: center;
  gap: var(--space-subline-icon) !important;
  margin-block: 0 var(--space-subline-after) !important;
  color: var(--heading-on-surface) !important;
  font-family: var(--font-family);
  font-size: var(--fs-subline) !important;
  font-weight: var(--fw-label) !important;
  line-height: var(--lh-ui) !important;
  letter-spacing: var(--ls-label) !important;
  text-transform: uppercase;
}
body .subline > img {
  display: block;
  flex: none;
  width: var(--size-subline-icon) !important;
  height: var(--size-subline-icon) !important;
  object-fit: contain;
  filter: none !important;
  opacity: 1 !important;
}
/* Optional cream star: reuse the same brand SVG as a token-colored mask. */
body .subline.subline--cream > img { display: none !important; }
body .subline.subline--cream::before {
  content: '';
  position: static;
  display: block;
  flex: none;
  width: var(--size-subline-icon);
  height: var(--size-subline-icon);
  margin: 0;
  background: var(--color-accent);
  -webkit-mask: var(--asset-star-01, url('../brand/logos/yildiz-01-transparent.svg')) center / contain no-repeat;
  mask: var(--asset-star-01, url('../brand/logos/yildiz-01-transparent.svg')) center / contain no-repeat;
}
/* A label owns the heading gap; surrounding rows must not add another gap. */
body .subline + :is(h1, h2, h3, h4, h5, h6) { margin-top: 0 !important; }
body .order-delivery__head { row-gap: 0; }
body .flow-products--editorial .products-heading__topline { margin-bottom: 0; }
body .products-heading__topline > .subline { align-self: flex-end; }
body .uts-slide__meta { align-items: flex-start; margin-bottom: 0; }
@media (max-width: 1023px) {
  body .order-delivery__head > .order-delivery__footer { margin-top: 24px; }
}
.scene-copy--hero .subline,
.scene-copy--center .subline,
.scene-copy--map .subline {
  justify-content: center;
}
.brand-particle-kicker.subline::before { content: none; }
@media (max-width: 760px) {
  .scene-copy--hero .subline,
  .scene-copy--center .subline,
  .scene-copy--map .subline { justify-content: flex-start; }
}

/* Mevcut hizalama ve erişilebilirlik kuralları korunur. */
@media (min-width: 1024px) {
  .page-index-yildiz .product-story--yeni-akis .product-story__cold { right: var(--page-pad); }
  .page-index-yildiz .product-story--yeni-akis .product-story__text-block > p { max-width: none; }
}
.yed-visually-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
@media (max-width: 760px) {
  :root { --fs-small: .875rem; --fs-label: .75rem; }
}
