/* MackaTech müşteri paneli. Yalnız tokens.css değişkenleri (sitenin kopyası); yeni renk yok (panel-tasarimi.md §6).
   Ritim: gece üst şerit, porselen sayfa, beyaz kartlar, gümüş çizgiler. Satoshi 500 başlık ve gövde, 700 etiket ve düğme. */

*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  margin: 0;
  min-height: 100svh;
  background: var(--inci);
  color: var(--metin);
  font-family: var(--font);
  font-weight: 500;
  font-size: var(--fs-govde);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  display: flex;
  flex-direction: column;
}
h1,
h2,
h3,
p,
ul,
ol,
dl,
dd,
figure {
  margin: 0;
}
ul[role="list"],
ol[role="list"] {
  list-style: none;
  padding: 0;
}
a {
  color: inherit;
}
button,
input,
textarea,
select {
  font: inherit;
  color: inherit;
}
img,
svg {
  display: block;
  max-width: 100%;
}
:focus-visible {
  outline: 2px solid var(--odak, var(--murekkep));
  outline-offset: 3px;
  border-radius: 6px;
}
.gizli {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.gecis {
  position: absolute;
  left: 1rem;
  top: -4rem;
  z-index: 50;
  padding: 0.75rem 1.1rem;
  border-radius: 999px;
  background: var(--dolgu-inci);
  color: var(--dolgu-inci-metin);
  font-weight: 700;
  text-decoration: none;
}
.gecis:focus {
  top: 1rem;
}

/* ---------------------------------------------------------------- üst şerit */
.ust {
  --odak: var(--acik);
  position: sticky;
  top: 0;
  z-index: 20;
  background: var(--gece);
  color: var(--acik);
  border-bottom: 1px solid rgb(255 255 255 / 0.08);
}
.ust__ic {
  max-width: 76rem;
  margin: 0 auto;
  padding: 0 var(--gutter);
  min-height: 4.25rem;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.marka {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  text-decoration: none;
  flex: none;
}
.marka img {
  width: 2rem;
  height: 2rem;
  border-radius: 0.55rem;
  box-shadow: 0 0 0 1px rgb(255 255 255 / 0.16);
}
.marka__ad {
  font-weight: 700;
  letter-spacing: -0.01em;
}
.marka__firma {
  color: var(--acik-soluk);
  padding-left: 0.85rem;
  border-left: 1px solid rgb(255 255 255 / 0.18);
  white-space: nowrap;
}
.marka__rozet {
  font-size: var(--fs-mikro);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gece);
  background: var(--krom-gece);
  border-radius: 999px;
  padding: 0.3rem 0.65rem;
}
.menu {
  display: flex;
  gap: 0.25rem;
  margin-left: auto;
}
.menu a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding: 0 1rem;
  border-radius: 999px;
  color: var(--acik-soluk);
  text-decoration: none;
  font-weight: 700;
  font-size: 0.94rem;
  transition: color 0.3s var(--ease), background-color 0.3s var(--ease);
}
.menu a:hover {
  color: var(--acik);
}
.menu a[aria-current="page"] {
  color: var(--gece);
  background: var(--acik);
}
.ust__kisi {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  min-height: 2.75rem;
  color: var(--acik);
  text-decoration: none;
  font-weight: 700;
  font-size: 0.94rem;
}
.bas-harf {
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background: var(--gece-3);
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.18);
  font-size: 0.8rem;
  letter-spacing: 0.04em;
}

/* Telefonda menü alt şeride iner: başparmak bölgesi, dört hedef eşit */
.alt-menu {
  display: none;
}
@media (max-width: 47.99rem) {
  .menu,
  .ust__kisi-ad,
  .marka__ad {
    display: none;
  }
  .marka__firma {
    border-left: 0;
    padding-left: 0;
    color: var(--acik);
  }
  .ust__kisi {
    margin-left: auto;
  }
  .alt-menu {
    --odak: var(--acik);
    position: fixed;
    inset: auto 0 0 0;
    z-index: 20;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    padding: 0.4rem 0.5rem calc(0.4rem + env(safe-area-inset-bottom));
    background: var(--gece);
    border-top: 1px solid rgb(255 255 255 / 0.1);
  }
  .alt-menu a {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 3rem;
    border-radius: 999px;
    color: var(--acik-soluk);
    text-decoration: none;
    font-weight: 700;
    font-size: 0.82rem;
  }
  .alt-menu a[aria-current="page"] {
    color: var(--gece);
    background: var(--acik);
  }
  body:has(.alt-menu) {
    padding-bottom: calc(4rem + env(safe-area-inset-bottom));
  }
}

/* ---------------------------------------------------------------- sayfa */
main {
  flex: 1;
  width: 100%;
  max-width: 76rem;
  margin: 0 auto;
  padding: clamp(2rem, 1.2rem + 3vw, 4rem) var(--gutter) clamp(3rem, 2rem + 4vw, 6rem);
}
.dar {
  max-width: 52rem;
}
.mikro {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-size: var(--fs-mikro);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1.3;
  color: var(--soluk);
}
.mikro::before {
  content: "";
  flex: none;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: radial-gradient(circle at 34% 30%, #ffffff 0 16%, #b9bec8 36%, #4d525c 74%, #1d2027 100%);
  box-shadow: 0 0 0 4px rgb(0 0 0 / 0.06);
}
.bas {
  font-size: var(--fs-bas-2);
  font-weight: var(--bas-agirlik);
  letter-spacing: var(--bas-iz);
  line-height: 1.02;
  color: var(--murekkep);
  margin-top: 0.9rem;
  text-wrap: balance;
}
.bas-2 {
  font-size: clamp(1.45rem, 1.15rem + 1vw, 2rem);
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 1.1;
  color: var(--murekkep);
}
.giris {
  margin-top: 1rem;
  font-size: var(--fs-giris);
  color: var(--soluk);
  max-width: 40rem;
}
.bolum {
  margin-top: clamp(2.5rem, 2rem + 2.5vw, 4.5rem);
}
.bolum__bas {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
  flex-wrap: wrap;
}
.soluk {
  color: var(--soluk);
}
.kucuk {
  font-size: 0.9rem;
}
.ozet {
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}

/* ---------------------------------------------------------------- düğmeler */
.dugme {
  --d-bg: var(--dolgu-inci);
  --d-bg-ust: var(--dolgu-inci-ust);
  --d-fg: var(--dolgu-inci-metin);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  min-height: 3rem;
  padding: 0 1.4rem;
  border: 0;
  border-radius: 999px;
  background: var(--d-bg);
  color: var(--d-fg);
  font-size: 0.97rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.3s var(--ease), box-shadow 0.3s var(--ease);
}
.dugme:hover {
  background: var(--d-bg-ust);
}
.dugme--cizgi {
  --d-bg: transparent;
  --d-bg-ust: rgb(0 0 0 / 0.05);
  --d-fg: var(--murekkep);
  box-shadow: inset 0 0 0 1px rgb(0 0 0 / 0.22);
}
.dugme--acik {
  --d-bg: var(--dolgu);
  --d-bg-ust: var(--dolgu-ust);
  --d-fg: var(--dolgu-metin);
}
.dugme--gece-cizgi {
  --d-bg: transparent;
  --d-bg-ust: rgb(255 255 255 / 0.07);
  --d-fg: var(--acik);
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.26);
}
.dugme--kucuk {
  min-height: 2.75rem;
  padding: 0 1.1rem;
  font-size: 0.9rem;
}
.dugme .ok {
  width: 1rem;
  height: 1rem;
  flex: none;
  transition: transform 0.4s var(--ease);
}
.dugme:hover .ok {
  transform: translateX(3px);
}
.baglanti {
  font-weight: 700;
  color: var(--murekkep);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.25em;
  text-decoration-color: var(--gumus-3);
}
.baglanti:hover {
  text-decoration-color: var(--murekkep);
}

/* ---------------------------------------------------------------- durum etiketi: kart başına bir kez */
.etiket {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 1.75rem;
  padding: 0 0.75rem;
  border-radius: 999px;
  font-size: var(--fs-mikro);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.etiket--sizde {
  background: var(--murekkep);
  color: var(--beyaz);
}
.etiket--istek {
  color: var(--murekkep);
  background: var(--beyaz);
  outline: 1px dashed var(--murekkep);
  outline-offset: -1px;
}
.etiket--bizde {
  color: var(--metin);
  background: var(--inci-2);
}
.etiket--tamam {
  color: var(--murekkep);
  background: linear-gradient(176deg, #f3f4f5 0%, var(--gumus-2) 100%);
}
.etiket--taslak {
  color: var(--soluk);
  outline: 1px dashed var(--gumus-3);
  outline-offset: -1px;
}

/* ---------------------------------------------------------------- kart */
.kart {
  position: relative;
  background: var(--beyaz);
  border-radius: var(--r-m);
  box-shadow:
    0 0 0 1px rgb(var(--golge-rgb) / 0.06),
    0 1px 2px rgb(var(--golge-rgb) / 0.04),
    0 12px 32px -18px rgb(var(--golge-rgb) / 0.22);
  padding: clamp(1.25rem, 1rem + 1vw, 1.75rem);
}
.kartlar {
  display: grid;
  gap: 1rem;
}
.is {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 0.6rem 1.5rem;
}
.is__bas {
  font-size: clamp(1.2rem, 1.05rem + 0.6vw, 1.5rem);
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.2;
  color: var(--murekkep);
  margin-top: 0.7rem;
}
.is__bas a {
  text-decoration: none;
}
.is__bas a::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
}
.is__meta {
  margin-top: 0.3rem;
  color: var(--soluk);
  font-size: 0.95rem;
}
.is .dugme {
  position: relative;
  z-index: 1;
}
@media (max-width: 40rem) {
  .is {
    grid-template-columns: 1fr;
  }
  .is .dugme {
    width: 100%;
  }
}
.bos {
  padding: 1.5rem 0;
  color: var(--soluk);
  border-top: 1px solid var(--inci-3);
  border-bottom: 1px solid var(--inci-3);
}

/* ---------------------------------------------------------------- adım hattı: numara yok, adlarla */
.hat {
  --hat-cizgi: var(--gumus-2);
  display: grid;
  grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr));
  margin-top: 1.4rem;
}
.hat li {
  position: relative;
  padding-top: 1.6rem;
  padding-right: 1rem;
}
.hat li::before {
  /* çizgi: her adımın noktasından bir sonrakine */
  content: "";
  position: absolute;
  top: 0.55rem;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--hat-cizgi);
}
.hat li:last-child::before {
  right: auto;
  width: 0.75rem;
}
.hat li.tamam::before {
  background: linear-gradient(90deg, var(--gumus-4), var(--gumus-3));
}
.hat__nokta {
  position: absolute;
  top: 0;
  left: 0;
  width: 1.15rem;
  height: 1.15rem;
  border-radius: 50%;
  background: var(--beyaz);
  box-shadow: inset 0 0 0 2px var(--gumus-2);
}
.tamam .hat__nokta {
  background: radial-gradient(circle at 34% 30%, #ffffff 0 14%, #c9ccd2 38%, #6d7076 80%, #3b3d42 100%);
  box-shadow: none;
}
.simdi .hat__nokta {
  background: var(--murekkep);
  box-shadow: 0 0 0 5px var(--beyaz), 0 0 0 6px var(--murekkep);
}
.hat__ad {
  display: block;
  font-size: 0.95rem;
  line-height: 1.3;
  color: var(--soluk);
}
.tamam .hat__ad {
  color: var(--metin);
}
.simdi .hat__ad {
  color: var(--murekkep);
  font-weight: 700;
}
.hat__kim {
  display: inline-block;
  margin-top: 0.45rem;
}
@media (max-width: 40rem) {
  .hat {
    grid-template-columns: 1fr;
  }
  .hat li {
    padding: 0 0 1.15rem 2.1rem;
    min-height: 2.6rem;
  }
  .hat li::before {
    top: 0;
    bottom: 0;
    left: 0.5rem;
    right: auto;
    width: 2px;
    height: auto;
  }
  .hat li:first-child::before {
    top: 0.55rem;
  }
  .hat li:last-child::before {
    bottom: auto;
    height: 0.55rem;
    width: 2px;
  }
  .hat li.tamam::before {
    background: linear-gradient(180deg, var(--gumus-4), var(--gumus-3));
  }
  .hat__nokta {
    top: 0.1rem;
  }
  .hat__kim {
    margin-top: 0.35rem;
  }
}
.siradaki {
  margin-top: 1.4rem;
  padding-top: 1.1rem;
  border-top: 1px solid var(--inci-3);
  color: var(--metin);
}
.siradaki strong {
  color: var(--murekkep);
  font-weight: 700;
}

/* ---------------------------------------------------------------- proje kartı */
.proje__ust {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
}
.proje__ad {
  font-size: clamp(1.3rem, 1.1rem + 0.8vw, 1.75rem);
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 1.15;
  color: var(--murekkep);
  margin-top: 0.5rem;
}
.proje__ad a {
  text-decoration: none;
}
.proje__ad a:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

/* ---------------------------------------------------------------- varyasyon B: hat sahne; istek kendi adımının altında */
.serit {
  display: grid;
  gap: 1.25rem;
}
.serit .kart {
  padding: clamp(1.25rem, 1rem + 1.5vw, 2.25rem);
}
.duraklar {
  display: grid;
  grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 1.5rem;
}
.durak {
  border-radius: var(--r-s);
  padding: 1rem 1rem 1.1rem;
  background: var(--inci);
  min-height: 8.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.durak__ad {
  font-weight: 700;
  color: var(--murekkep);
  font-size: 0.97rem;
  line-height: 1.3;
}
.durak__durum {
  font-size: 0.88rem;
  color: var(--soluk);
}
.durak.tamam {
  background: linear-gradient(176deg, #fafafa 0%, var(--gumus-1) 100%);
}
.durak.simdi {
  background: var(--gece);
  color: var(--acik);
  box-shadow: 0 18px 40px -22px rgb(var(--golge-rgb) / 0.7);
}
.durak.simdi .durak__ad {
  color: var(--acik);
}
.durak.simdi .durak__durum {
  color: var(--acik-giris);
}
.durak .dugme {
  margin-top: auto;
  align-self: flex-start;
}
@media (max-width: 52rem) {
  .duraklar {
    grid-template-columns: 1fr;
  }
  .durak {
    min-height: 0;
  }
  .durak .dugme {
    align-self: stretch;
  }
}

/* ---------------------------------------------------------------- varyasyon C: davetiye (tek odak) */
.davetiye {
  --odak: var(--acik);
  position: relative;
  overflow: clip;
  border-radius: var(--r-l);
  background: var(--gece);
  color: var(--acik);
  padding: clamp(1.75rem, 1rem + 4vw, 4rem);
  isolation: isolate;
}
.davetiye::before {
  /* arkadan ışık: sitenin cam kartındaki ışığın sessiz karşılığı */
  content: "";
  position: absolute;
  inset: -40% -10% auto auto;
  width: 70%;
  aspect-ratio: 1;
  background: radial-gradient(closest-side, rgb(255 255 255 / 0.14), rgb(255 255 255 / 0));
  z-index: -1;
}
.davetiye::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(160deg, rgb(255 255 255 / 0.4), rgb(255 255 255 / 0.04) 40%, rgb(255 255 255 / 0.18));
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
.davetiye .mikro {
  color: var(--acik-soluk);
}
.davetiye .mikro::before {
  background: radial-gradient(circle at 34% 30%, #ffffff 0 18%, #c9ced8 34%, #6e7480 70%, #2a2e36 100%);
  box-shadow: 0 0 10px rgb(255 255 255 / 0.55);
}
.davetiye__bas {
  margin-top: 1.1rem;
  font-size: var(--fs-kart);
  font-weight: 500;
  letter-spacing: -0.045em;
  line-height: 1.05;
  max-width: 22ch;
  text-wrap: balance;
}
.davetiye__bas em {
  font-style: normal;
  background: var(--krom-gece);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.davetiye__alt {
  margin-top: 1rem;
  color: var(--acik-giris);
  max-width: 40rem;
}
.davetiye__dugmeler {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-top: 2rem;
}
.davetiye dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, auto));
  justify-content: start;
  gap: 0.5rem 2.5rem;
  margin-top: 2rem;
  padding-top: 1.4rem;
  border-top: 1px solid rgb(255 255 255 / 0.12);
}
.davetiye dt {
  font-size: var(--fs-mikro);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--acik-soluk);
}
.davetiye dd {
  margin-top: 0.3rem;
  color: var(--acik);
}
@media (max-width: 40rem) {
  .davetiye dl {
    grid-template-columns: 1fr 1fr;
  }
  .davetiye__dugmeler .dugme {
    flex: 1 1 100%;
  }
}
.satirlar {
  border-top: 1px solid var(--inci-3);
}
.satir {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.4rem 1.25rem;
  padding: 1.1rem 0;
  border-bottom: 1px solid var(--inci-3);
}
.satir__ad {
  font-weight: 500;
  color: var(--murekkep);
  font-size: 1.05rem;
}
.satir__ad a {
  text-decoration: none;
}
.satir__ad a::after {
  content: "";
  position: absolute;
  inset: 0;
}
.satir__ad a:hover {
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
}
.satir__meta {
  color: var(--soluk);
  font-size: 0.92rem;
}
.satir .dugme,
.satir .baglanti {
  position: relative;
  z-index: 1;
}
@media (max-width: 30rem) {
  .satir:has(> .etiket) {
    grid-template-columns: 1fr;
  }
  .satir > .etiket {
    justify-self: start;
    grid-row: 1;
  }
}

/* ---------------------------------------------------------------- iki sütun düzeni */
.iki {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
  gap: clamp(1.25rem, 1rem + 2vw, 2.5rem);
  align-items: start;
}
.iki--esit {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 60rem) {
  .iki,
  .iki--esit {
    grid-template-columns: 1fr;
  }
}
.yapiskan {
  position: sticky;
  top: 5.5rem;
}
@media (max-width: 60rem) {
  .yapiskan {
    position: static;
  }
}

/* ---------------------------------------------------------------- belge önizlemesi (kâğıt) */
.kagit {
  background: var(--inci-2);
  border-radius: var(--r-m);
  padding: clamp(1rem, 0.5rem + 3vw, 3rem);
}
.kagit__sayfa {
  background: var(--beyaz);
  aspect-ratio: 210 / 297;
  border-radius: 4px;
  box-shadow: 0 1px 2px rgb(var(--golge-rgb) / 0.08), 0 30px 60px -30px rgb(var(--golge-rgb) / 0.35);
  padding: 9% 10%;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  max-width: 34rem;
  margin: 0 auto;
}
.kagit__mikro {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--soluk);
}
.kagit__bas {
  font-size: clamp(1.1rem, 0.8rem + 1.6vw, 1.9rem);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1.05;
  color: var(--murekkep);
  margin-bottom: 0.6rem;
}
.kagit__alt {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--murekkep);
  margin-top: 0.8rem;
}
.kagit__cizgi {
  height: 0.42rem;
  border-radius: 3px;
  background: var(--inci-2);
}
.kagit__not {
  margin-top: 1rem;
  text-align: center;
  color: var(--soluk);
  font-size: 0.9rem;
}

/* ---------------------------------------------------------------- sürümler ve karar */
.surumler {
  display: grid;
}
.surum {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.15rem 0.9rem;
  padding: 0.95rem 0;
  border-top: 1px solid var(--inci-3);
}
.surum:first-child {
  border-top: 0;
  padding-top: 0;
}
.surum__no {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: var(--inci-2);
  color: var(--metin);
  font-weight: 700;
  font-size: 0.85rem;
}
.surum.guncel .surum__no {
  background: var(--murekkep);
  color: var(--beyaz);
}
.surum__ad {
  font-weight: 700;
  color: var(--murekkep);
}
.surum__meta {
  color: var(--soluk);
  font-size: 0.9rem;
}
.surum__karar {
  grid-column: 2;
  margin-top: 0.5rem;
  font-size: 0.92rem;
  padding: 0.7rem 0.9rem;
  border-radius: var(--r-s);
  background: var(--inci);
}
.notu {
  padding: 1rem 1.1rem;
  border-radius: var(--r-s);
  background: var(--inci);
  border-left: 2px solid var(--gumus-3);
}
.notu cite {
  display: block;
  margin-top: 0.5rem;
  font-style: normal;
  font-size: 0.88rem;
  color: var(--soluk);
}
.karar {
  display: grid;
  gap: 0.75rem;
}
.karar .dugme {
  width: 100%;
}
.karar summary::-webkit-details-marker {
  display: none;
}
.karar__ozet {
  font-size: 0.9rem;
  color: var(--soluk);
}
.sonuc {
  display: grid;
  gap: 0.35rem;
  padding: 1.1rem 1.2rem;
  border-radius: var(--r-s);
  background: linear-gradient(176deg, #fbfbfb 0%, var(--gumus-1) 100%);
  color: var(--murekkep);
}
.sonuc strong {
  font-weight: 700;
}

/* ---------------------------------------------------------------- formlar */
.alan {
  display: grid;
  gap: 0.45rem;
}
.alan + .alan {
  margin-top: 1.1rem;
}
.alan label,
.alan__ad {
  font-weight: 700;
  font-size: 0.92rem;
  color: var(--murekkep);
}
.alan__yardim {
  font-size: 0.88rem;
  color: var(--soluk);
}
.girdi {
  width: 100%;
  min-height: 3.1rem;
  padding: 0.7rem 1rem;
  border: 0;
  border-radius: var(--r-s);
  background: var(--beyaz);
  box-shadow: inset 0 0 0 1px var(--gumus-2);
  color: var(--murekkep);
  transition: box-shadow 0.2s var(--ease);
}
.girdi:hover {
  box-shadow: inset 0 0 0 1px var(--gumus-3);
}
.girdi:focus {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--murekkep);
}
textarea.girdi {
  min-height: 7.5rem;
  resize: vertical;
}
.kod {
  font-size: 1.6rem;
  letter-spacing: 0.5em;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.birak {
  position: relative;
  display: grid;
  place-items: center;
  gap: 0.4rem;
  text-align: center;
  padding: 2rem 1rem;
  border-radius: var(--r-m);
  background: var(--inci);
  outline: 1.5px dashed var(--gumus-3);
  outline-offset: -1.5px;
  cursor: pointer;
}
.birak:hover {
  outline-color: var(--murekkep);
}
.birak input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.birak:has(input:focus-visible) {
  outline: 2px solid var(--murekkep);
}
.birak strong {
  color: var(--murekkep);
  font-weight: 700;
}
.uyari {
  display: flex;
  gap: 0.7rem;
  align-items: flex-start;
  padding: 0.9rem 1rem;
  border-radius: var(--r-s);
  background: var(--inci-2);
  color: var(--metin);
  font-size: 0.92rem;
}
.uyari svg {
  width: 1.15rem;
  height: 1.15rem;
  flex: none;
  margin-top: 0.15rem;
}
.dugmeler {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-top: 1.5rem;
}
@media (max-width: 40rem) {
  .dugmeler .dugme {
    flex: 1 1 100%;
  }
}
.secim {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.secim label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.75rem;
  padding: 0 1rem;
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px var(--gumus-2);
  background: var(--beyaz);
  font-weight: 700;
  font-size: 0.9rem;
  cursor: pointer;
}
.secim label:has(input:checked) {
  background: var(--murekkep);
  color: var(--beyaz);
  box-shadow: none;
}
.secim input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.secim label:has(input:focus-visible) {
  outline: 2px solid var(--murekkep);
  outline-offset: 3px;
}
select.girdi {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--soluk) 50%), linear-gradient(135deg, var(--soluk) 50%, transparent 50%);
  background-position: calc(100% - 1.15rem) 55%, calc(100% - 0.8rem) 55%;
  background-size: 0.35rem 0.35rem;
  background-repeat: no-repeat;
  padding-right: 2.5rem;
}

/* ---------------------------------------------------------------- pencere (onay özeti) */
dialog {
  width: min(32rem, calc(100vw - 2rem));
  border: 0;
  border-radius: var(--r-l);
  padding: clamp(1.5rem, 1rem + 2vw, 2.25rem);
  background: var(--beyaz);
  color: var(--metin);
  box-shadow: 0 40px 100px -30px rgb(var(--golge-rgb) / 0.6);
}
dialog::backdrop {
  background: rgb(11 11 12 / 0.55);
}
.pencere__bas {
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 1.15;
  color: var(--murekkep);
}
.kunye {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.5rem 1.25rem;
  margin-top: 1.25rem;
  padding: 1rem 1.1rem;
  border-radius: var(--r-s);
  background: var(--inci);
  font-size: 0.93rem;
}
.kunye dt {
  color: var(--soluk);
}
.kunye dd {
  color: var(--murekkep);
  font-weight: 700;
  overflow-wrap: anywhere;
}

/* ---------------------------------------------------------------- liste tablosu (teslimler, geçmiş) */
.tablo {
  width: 100%;
  border-collapse: collapse;
}
.tablo th {
  text-align: left;
  font-size: var(--fs-mikro);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--soluk);
  padding: 0 1rem 0.8rem 0;
  border-bottom: 1px solid var(--inci-3);
}
.tablo td {
  padding: 1rem 1rem 1rem 0;
  border-bottom: 1px solid var(--inci-3);
  vertical-align: middle;
}
.tablo td:last-child,
.tablo th:last-child {
  padding-right: 0;
  text-align: right;
}
.tablo .ad {
  color: var(--murekkep);
  font-weight: 500;
}
@media (max-width: 47.99rem) {
  .tablo thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }
  .tablo tr {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.2rem 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid var(--inci-3);
  }
  .tablo td {
    padding: 0;
    border: 0;
  }
  .tablo td.ad {
    grid-column: 1;
  }
  .tablo td.ek {
    grid-column: 1;
    color: var(--soluk);
    font-size: 0.9rem;
  }
  .tablo td:last-child {
    grid-column: 2;
    grid-row: 1 / span 3;
    align-self: center;
  }
}
.gecmis {
  display: grid;
}
.gecmis li {
  display: grid;
  grid-template-columns: 7.5rem 1fr;
  gap: 1rem;
  padding: 0.85rem 0;
  border-top: 1px solid var(--inci-3);
  font-size: 0.95rem;
}
.gecmis time {
  color: var(--soluk);
  font-variant-numeric: tabular-nums;
}
@media (max-width: 40rem) {
  .gecmis li {
    grid-template-columns: 1fr;
    gap: 0.1rem;
  }
}

/* ---------------------------------------------------------------- giriş ekranı */
.giris-sayfa {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  min-height: 100svh;
}
.giris-sol {
  --odak: var(--acik);
  position: relative;
  overflow: clip;
  background: var(--gece);
  color: var(--acik);
  padding: clamp(1.5rem, 1rem + 3vw, 4rem);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 3rem;
  isolation: isolate;
}
.giris-sol::before {
  content: "";
  position: absolute;
  inset: auto auto -30% -20%;
  width: 90%;
  aspect-ratio: 1;
  background: radial-gradient(closest-side, rgb(255 255 255 / 0.12), rgb(255 255 255 / 0));
  z-index: -1;
}
.giris-sol__bas {
  font-size: var(--fs-bas-2);
  font-weight: 500;
  letter-spacing: var(--bas-iz);
  line-height: 1.02;
  max-width: 14ch;
}
.giris-sol__bas em {
  font-style: normal;
  background: var(--krom-gece);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.giris-sol__alt {
  margin-top: 1.2rem;
  color: var(--acik-giris);
  max-width: 30rem;
}
.giris-sol .marka__ad {
  display: inline;
}
.giris-sag {
  display: grid;
  place-items: center;
  padding: clamp(1.5rem, 1rem + 3vw, 4rem);
}
.giris-form {
  width: 100%;
  max-width: 26rem;
}
.giris-form .dugme {
  width: 100%;
  margin-top: 1.5rem;
}
.giris-form__alt {
  margin-top: 1.5rem;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  font-size: 0.92rem;
}
@media (max-width: 52rem) {
  .giris-sayfa {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .giris-sol {
    gap: 2rem;
    padding-bottom: 2.5rem;
  }
  .giris-sag {
    place-items: start center;
    padding-top: 2rem;
  }
}

/* ---------------------------------------------------------------- yönetim */
.sutun-bas {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.yas {
  font-weight: 700;
  color: var(--murekkep);
}
.adim-duzen {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 9rem 11.5rem;
  gap: 0.75rem;
  align-items: center;
  padding: 0.75rem 0;
  border-top: 1px solid var(--inci-3);
}
.adim-duzen:first-of-type {
  border-top: 0;
}
.adim-duzen .girdi {
  min-height: 2.75rem;
  padding-top: 0.45rem;
  padding-bottom: 0.45rem;
}
@media (max-width: 40rem) {
  .adim-duzen {
    grid-template-columns: 1fr 1fr;
  }
  .adim-duzen > :first-child {
    grid-column: 1 / -1;
  }
}

/* ---------------------------------------------------------------- alt yazı ve pano */
.alt-yazi {
  max-width: 76rem;
  margin: 0 auto;
  width: 100%;
  padding: 1.5rem var(--gutter) 2rem;
  color: var(--soluk);
  font-size: 0.85rem;
  border-top: 1px solid var(--inci-3);
}
.pano {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
  gap: 1rem;
}
.pano .kart {
  display: grid;
  gap: 0.4rem;
  text-decoration: none;
  transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease);
}
.pano .kart:hover {
  transform: translateY(-2px);
}
.pano .kart strong {
  color: var(--murekkep);
  font-weight: 700;
  font-size: 1.05rem;
}
.pano .kart span {
  color: var(--soluk);
  font-size: 0.92rem;
}

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


/* ================================================================ panel eklemeleri */
.ust-1 { margin-top: 1rem; }
.ust-2 { margin-top: 2rem; }
.hat--1 { --n: 1; } .hat--2 { --n: 2; } .hat--3 { --n: 3; } .hat--4 { --n: 4; }
.hat--5 { --n: 5; } .hat--6 { --n: 6; } .hat--7 { --n: 7; } .hat--8 { --n: 8; }
@media (min-width: 40.01rem) and (max-width: 60rem) {
  .hat--6, .hat--7, .hat--8 { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 1.25rem; }
}
.menu a,
.alt-menu a { position: relative; }
.nokta {
  display: inline-block;
  width: 0.45rem;
  height: 0.45rem;
  margin-left: 0.4rem;
  border-radius: 50%;
  background: currentColor;
  vertical-align: 0.15em;
}
.alt-menu .nokta { position: absolute; top: 0.55rem; right: 22%; margin: 0; }
.bildirim {
  margin-bottom: 1.5rem;
  padding: 0.9rem 1.1rem;
  border-radius: var(--r-s);
  background: linear-gradient(176deg, #fbfbfb 0%, var(--gumus-1) 100%);
  color: var(--murekkep);
  font-weight: 700;
  font-size: 0.95rem;
}
.bildirim--hata,
.form-hata {
  padding: 0.9rem 1.1rem 0.9rem 1rem;
  border-radius: var(--r-s);
  background: var(--inci-2);
  box-shadow: inset 3px 0 0 var(--murekkep);
  color: var(--murekkep);
  font-weight: 700;
  font-size: 0.95rem;
}
.form-hata { margin: 0 0 1.25rem; }
.kart > .form-hata { margin-top: 0; }
.mikro__bag { text-decoration: none; color: inherit; }
.mikro__bag:hover { text-decoration: underline; text-underline-offset: 0.2em; }
.kart__bas { margin: 0.9rem 0 1.25rem; }
.satir-ici { display: inline; }
button.baglanti { background: none; border: 0; padding: 0; cursor: pointer; font: inherit; font-weight: 700; color: var(--murekkep); }
.alt-yazi { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; justify-content: space-between; align-items: center; }
.bos { padding: 1.25rem 0; color: var(--soluk); }
.satirlar > .bos { border: 0; }

/* Davetiye: boş gün */
.davetiye--sakin .davetiye__bas { max-width: 26ch; }

/* Yeni mesaj haberi */
.haber {
  display: flex;
  align-items: center;
  gap: 1rem;
  text-decoration: none;
  color: var(--murekkep);
}
.haber__bas { font-size: 1.15rem; letter-spacing: -0.02em; flex: 1; }
.haber__ok .ok { width: 1.25rem; height: 1.25rem; }

/* Dosya önizlemesi */
.onizleme {
  border-radius: var(--r-m);
  background: var(--inci-2);
  padding: clamp(1rem, 0.5rem + 2vw, 2rem);
  display: grid;
  gap: 1.25rem;
}
.onizleme__gorsel {
  width: 100%;
  max-height: 70svh;
  object-fit: contain;
  border-radius: 6px;
  background: var(--beyaz);
  box-shadow: 0 1px 2px rgb(var(--golge-rgb) / 0.08), 0 30px 60px -30px rgb(var(--golge-rgb) / 0.35);
}
.onizleme__alt { display: grid; gap: 0.35rem; }
.onizleme__ad { font-size: 1.15rem; color: var(--murekkep); letter-spacing: -0.02em; overflow-wrap: anywhere; }
.onizleme__dugmeler { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-top: 0.75rem; }
@media (max-width: 40rem) { .onizleme__dugmeler .dugme { flex: 1 1 100%; } }

/* Karar: ayrıntı açılır (JS'siz); JS varken onay penceresi */
.karar details { display: grid; }
.karar summary { list-style: none; width: 100%; }
.karar summary::-webkit-details-marker,
.kapat-ac summary::-webkit-details-marker { display: none; }
.kapat-ac summary { list-style: none; }
.onay-kutu {
  margin-top: 0.9rem;
  padding: 1.1rem;
  border-radius: var(--r-s);
  box-shadow: inset 0 0 0 1px var(--inci-3);
  display: grid;
  gap: 0.9rem;
}
.onay-kutu .dugme { width: 100%; }
.onay-kutu .kunye { margin-top: 0; }
.kunye--ust { margin: 0 0 1.25rem; }
details[open] > summary.dugme--cizgi { box-shadow: inset 0 0 0 1px var(--murekkep); }

/* İstek yanıtları */
.yanit { padding: 1rem 0; border-top: 1px solid var(--inci-3); }
.yanit__metin { margin-top: 0.4rem; white-space: pre-wrap; color: var(--murekkep); }
.yukleme-durumu:empty { display: none; }
.yukleme-durumu { margin-top: 0.75rem; }

/* Mesajlar */
.mesaj-alani { margin-top: 2rem; }
.mesajlar { display: grid; gap: 0.75rem; }
.mesaj { display: flex; }
.mesaj--siz { justify-content: flex-end; }
.mesaj__balon {
  max-width: min(36rem, 86%);
  padding: 0.85rem 1.05rem;
  border-radius: var(--r-m);
  display: grid;
  gap: 0.35rem;
}
.mesaj--biz .mesaj__balon {
  background: var(--beyaz);
  box-shadow: 0 0 0 1px rgb(var(--golge-rgb) / 0.06), 0 12px 32px -18px rgb(var(--golge-rgb) / 0.22);
  border-bottom-left-radius: 6px;
}
.mesaj--siz .mesaj__balon {
  background: var(--gece);
  color: var(--acik);
  border-bottom-right-radius: 6px;
}
.mesaj__ust { display: flex; justify-content: space-between; gap: 1rem; font-size: 0.8rem; font-weight: 700; color: var(--soluk); }
.mesaj--siz .mesaj__ust { color: var(--acik-soluk); }
.mesaj__metin { white-space: pre-wrap; overflow-wrap: anywhere; }
.mesaj__proje { font-size: var(--fs-mikro); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: inherit; opacity: 1; text-underline-offset: 0.2em; }
.mesaj--siz .mesaj__proje { color: var(--acik-giris); }
.mesaj--biz .mesaj__proje { color: var(--soluk); }
.mesaj__dosya {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.25rem;
  padding: 0.55rem 0.75rem;
  border-radius: var(--r-s);
  text-decoration: none;
  font-size: 0.9rem;
  min-height: 2.75rem;
  overflow-wrap: anywhere;
}
.mesaj__dosya .ok { width: 1rem; height: 1rem; flex: none; }
.mesaj--biz .mesaj__dosya { background: var(--inci); color: var(--murekkep); }
.mesaj--siz .mesaj__dosya { background: var(--gece-3); color: var(--acik); }
.mesaj--siz .mesaj__dosya .soluk { color: var(--acik-soluk); }
.mesaj-gun { display: flex; justify-content: center; margin: 0.75rem 0 0.25rem; }
.mesaj-gun span {
  font-size: var(--fs-mikro);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--soluk);
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
  background: var(--inci-2);
}
.yaz { margin-top: 1.5rem; }
.yaz__alt { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 1.1rem; margin-top: 1.1rem; align-items: start; }
.yaz__alt .alan + .alan { margin-top: 0; }
@media (max-width: 40rem) { .yaz__alt { grid-template-columns: 1fr; } }
.yaz .birak { padding: 1.1rem 1rem; }

/* Kurtarma kodları */
.kodlar {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 1rem 0 0;
  padding: 1rem;
  border-radius: var(--r-s);
  background: var(--inci);
}
.kodlar code { font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 1rem; color: var(--murekkep); letter-spacing: 0.06em; }

/* Giriş ekranı eklemeleri */
.giris-form__bas { margin: 0.8rem 0 1.75rem; }
.giris-sol__not { color: var(--acik-soluk); }
.giris-form .giris { margin: 0 0 1.25rem; }

/* Hata sayfası */
.hata-sayfa { max-width: 40rem; padding-top: clamp(3rem, 2rem + 6vw, 8rem); }
.hata-sayfa .marka { color: var(--murekkep); margin-bottom: 2.5rem; }
.hata-sayfa .marka img { box-shadow: none; }

/* Yazdırma: menüler gizlenir, içerik tam görünür */
@media print {
  .ust, .alt-menu, .alt-yazi, .dugme, .gecis { display: none !important; }
  body { background: #fff; }
  .kart { box-shadow: none; border: 1px solid #ddd; }
}
.alt-yazi button.baglanti { min-height: 2.75rem; padding: 0 0.25rem; }

/* ================================================================ vitrin: teşhis notu, teklif, başvuru (herkese açık) */
.vitrin { min-height: 100svh; display: flex; flex-direction: column; background: var(--inci); }
.kapak {
  --odak: var(--acik);
  position: relative;
  overflow: clip;
  isolation: isolate;
  background: var(--gece);
  color: var(--acik);
  padding: clamp(2rem, 1.2rem + 4vw, 5rem) var(--gutter) clamp(3rem, 2rem + 5vw, 6.5rem);
}
.kapak::before {
  content: "";
  position: absolute;
  inset: -45% -15% auto auto;
  width: min(70rem, 90vw);
  aspect-ratio: 1;
  background: radial-gradient(closest-side, rgb(255 255 255 / 0.13), rgb(255 255 255 / 0));
  z-index: -1;
}
.kapak::after {
  content: "";
  position: absolute;
  left: var(--gutter);
  right: var(--gutter);
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, rgb(255 255 255 / 0), rgb(255 255 255 / 0.35), rgb(255 255 255 / 0));
}
.kapak__ic { max-width: 76rem; margin: 0 auto; display: grid; gap: 1.1rem; }
.kapak .marka { margin-bottom: clamp(1.5rem, 1rem + 3vw, 4rem); }
.kapak .marka__ad { display: inline; }
.kapak .mikro { color: var(--acik-soluk); }
.kapak .mikro::before { background: radial-gradient(circle at 34% 30%, #ffffff 0 18%, #c9ced8 34%, #6e7480 70%, #2a2e36 100%); box-shadow: 0 0 10px rgb(255 255 255 / 0.55); }
.kapak__bas {
  font-size: clamp(2.3rem, 1.2rem + 4.6vw, 5.6rem);
  font-weight: 500;
  letter-spacing: var(--bas-iz);
  line-height: 1;
  max-width: 18ch;
  text-wrap: balance;
}
.kapak__bas em,
.davet-kart__bas em,
.giris-sol__bas em {
  font-style: normal;
  background: var(--krom-gece);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.kapak__alt { max-width: 44rem; color: var(--acik-giris); font-size: var(--fs-giris); }
.kapak__kunye {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem 2.75rem;
  margin-top: 1rem;
  padding-top: 1.4rem;
  border-top: 1px solid rgb(255 255 255 / 0.12);
}
.kapak__kunye dt, .davet-kart dt { font-size: var(--fs-mikro); font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--acik-soluk); }
.kapak__kunye dd, .davet-kart dd { margin-top: 0.3rem; color: var(--acik); overflow-wrap: anywhere; }
.vitrin-govde { flex: 1; width: 100%; max-width: 76rem; margin: 0 auto; padding: clamp(2.5rem, 1.5rem + 4vw, 5rem) var(--gutter) clamp(3rem, 2rem + 4vw, 6rem); display: grid; gap: clamp(3rem, 2rem + 4vw, 6rem); }
.vitrin-govde > * { min-width: 0; }

/* Öneriler */
.oneriler .bas { margin-bottom: 2rem; }
.oneri-izgara { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
@media (max-width: 60rem) { .oneri-izgara { grid-template-columns: 1fr; } }
.oneri {
  background: var(--beyaz);
  border-radius: var(--r-m);
  padding: clamp(1.4rem, 1rem + 1.5vw, 2rem);
  box-shadow: 0 0 0 1px rgb(var(--golge-rgb) / 0.06), 0 18px 40px -26px rgb(var(--golge-rgb) / 0.3);
  display: grid;
  gap: 0.75rem;
  align-content: start;
}
.oneri__bas { font-size: clamp(1.25rem, 1.05rem + 0.7vw, 1.6rem); font-weight: 500; letter-spacing: -0.03em; line-height: 1.15; color: var(--murekkep); }
.oneri p:last-child { color: var(--metin); }

/* Ölçüm bölümleri */
.t-bolum__bas { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; padding-bottom: 1rem; border-bottom: 1px solid var(--inci-3); }
.bulgular { display: grid; }
.bulgu {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 0.4rem 2rem;
  padding: 1.15rem 0;
  border-bottom: 1px solid var(--inci-3);
}
.bulgu__ust { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; grid-row: span 2; align-self: start; }
.bulgu__bas { font-size: 1.05rem; font-weight: 500; color: var(--murekkep); letter-spacing: -0.01em; }
.bulgu__olcum { color: var(--murekkep); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.bulgu__aciklama { color: var(--soluk); font-size: 0.95rem; }
@media (max-width: 47.99rem) { .bulgu { grid-template-columns: 1fr; } .bulgu__ust { grid-row: auto; } }
.bulgu .etiket { min-width: 8.5rem; justify-content: center; }
@media (max-width: 30rem) { .bulgu .etiket { min-width: 0; } }
.yontem { max-width: 52rem; display: grid; gap: 0.75rem; color: var(--soluk); font-size: 0.95rem; }

/* Davetiye kartı (sitenin "İlk adım: teşhis notu" kartının dili) */
.davet-kart {
  --odak: var(--acik);
  position: relative;
  overflow: clip;
  isolation: isolate;
  border-radius: var(--r-l);
  background: var(--gece);
  color: var(--acik);
  padding: clamp(1.75rem, 1rem + 4vw, 4rem);
  display: grid;
  gap: 1rem;
}
.davet-kart::before {
  content: "";
  position: absolute;
  inset: -40% -10% auto auto;
  width: 70%;
  aspect-ratio: 1;
  background: radial-gradient(closest-side, rgb(255 255 255 / 0.14), rgb(255 255 255 / 0));
  z-index: -1;
}
.davet-kart::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(160deg, rgb(255 255 255 / 0.4), rgb(255 255 255 / 0.04) 40%, rgb(255 255 255 / 0.18));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
.davet-kart .mikro { color: var(--acik-soluk); }
.davet-kart__bas { font-size: var(--fs-kart); font-weight: 500; letter-spacing: -0.045em; line-height: 1.05; max-width: 22ch; text-wrap: balance; }
.davet-kart__alt { color: var(--acik-giris); max-width: 40rem; }
.davet-kart .kapak__kunye { margin-top: 0.5rem; }
.davet-kart .girdi { background: var(--gece-2); color: var(--acik); box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.18); }
.davet-kart .girdi:focus { box-shadow: inset 0 0 0 2px var(--acik); }
.davet-kart label, .davet-kart .alan__ad { color: var(--acik); }
.davet-kart .form-hata { background: var(--gece-3); color: var(--acik); box-shadow: inset 3px 0 0 var(--acik); }
.davet-kart .ozet { font-variant-numeric: tabular-nums; }
.davet-kart .baglanti, .davet-kart button.baglanti { color: var(--acik); text-decoration-color: var(--gumus-3); }
.karar-formu { display: grid; gap: 1rem; margin-top: 0.5rem; }
.onay-kutusu { display: flex; gap: 0.75rem; align-items: flex-start; cursor: pointer; color: var(--acik); }
.onay-kutusu input { width: 1.35rem; height: 1.35rem; margin-top: 0.15rem; accent-color: var(--acik); flex: none; }
.red-ac { margin-top: 0.5rem; }
.red-ac summary { list-style: none; cursor: pointer; display: inline-flex; min-height: 2.75rem; align-items: center; color: var(--acik-soluk); }
.red-ac summary::-webkit-details-marker { display: none; }
.red-formu { display: grid; gap: 1rem; margin-top: 0.75rem; max-width: 40rem; }
.iki-alan { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.iki-alan .alan + .alan { margin-top: 0; }
@media (max-width: 40rem) { .iki-alan { grid-template-columns: 1fr; } }

/* Teklif */
.teklif-izgara { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem); gap: clamp(1.5rem, 1rem + 3vw, 3.5rem); align-items: start; }
@media (max-width: 60rem) { .teklif-izgara { grid-template-columns: 1fr; } }
.teklif-izgara .bas { margin-bottom: 2rem; }
.kalemler { display: grid; gap: 1rem; }
.kalem {
  background: var(--beyaz);
  border-radius: var(--r-m);
  padding: clamp(1.25rem, 1rem + 1vw, 1.75rem);
  box-shadow: 0 0 0 1px rgb(var(--golge-rgb) / 0.06), 0 12px 32px -20px rgb(var(--golge-rgb) / 0.25);
  display: grid;
  gap: 0.75rem;
}
.kalem--opsiyonel { background: var(--inci); box-shadow: none; outline: 1px dashed var(--gumus-3); outline-offset: -1px; }
.kalem__ust { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.kalem__bas { font-size: clamp(1.2rem, 1.05rem + 0.6vw, 1.5rem); font-weight: 500; letter-spacing: -0.03em; line-height: 1.2; color: var(--murekkep); margin-top: 0.3rem; }
.kalem__tutar { font-size: 1.15rem; font-weight: 700; color: var(--murekkep); white-space: nowrap; font-variant-numeric: tabular-nums; }
.kalem__aciklama { color: var(--metin); }
.kalem__kapsam { display: grid; gap: 0.35rem; }
.kalem__kapsam li { position: relative; padding-left: 1.2rem; color: var(--metin); }
.kalem__kapsam li::before { content: ""; position: absolute; left: 0; top: 0.65em; width: 0.45rem; height: 1px; background: var(--gumus-4); }
.secenek {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  min-height: 2.75rem;
  padding: 0 1rem;
  border-radius: 999px;
  background: var(--beyaz);
  box-shadow: inset 0 0 0 1px var(--gumus-2);
  font-weight: 700;
  font-size: 0.9rem;
  cursor: pointer;
  justify-self: start;
}
.secenek input { width: 1.1rem; height: 1.1rem; accent-color: var(--murekkep); }
.secenek:has(input:checked) { background: var(--murekkep); color: var(--beyaz); box-shadow: none; }
.secenek:has(input:focus-visible) { outline: 2px solid var(--murekkep); outline-offset: 3px; }
.toplam {
  position: sticky;
  top: 1.5rem;
  background: var(--gece);
  color: var(--acik);
  border-radius: var(--r-m);
  padding: 1.5rem;
  display: grid;
  gap: 1rem;
}
.toplam .mikro { color: var(--acik-soluk); }
.toplam dl { display: grid; gap: 0.5rem; padding-bottom: 1rem; border-bottom: 1px solid rgb(255 255 255 / 0.14); }
.toplam dl div { display: flex; justify-content: space-between; gap: 1rem; font-variant-numeric: tabular-nums; }
.toplam dt { color: var(--acik-soluk); }
.toplam__tutar { font-size: clamp(1.8rem, 1.4rem + 1.5vw, 2.5rem); font-weight: 500; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; line-height: 1.1; }
.toplam__tutar .kucuk { display: block; font-size: 0.85rem; letter-spacing: 0; color: var(--acik-soluk); margin-top: 0.35rem; }
.toplam .soluk { color: var(--acik-soluk); }
@media (max-width: 60rem) { .toplam { position: static; } }
.kosul { max-width: 52rem; display: grid; gap: 1rem; }
.kosul .kunye { margin-top: 1rem; }
.kosul__metin { color: var(--soluk); font-size: 0.95rem; white-space: pre-line; }

/* Başvuru */
.teshis-icerik { display: grid; gap: 0.6rem; margin-top: 1.75rem; }
.teshis-icerik li { display: flex; gap: 0.75rem; align-items: center; color: var(--acik); }
.teshis-icerik li::before { content: ""; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: radial-gradient(circle at 34% 30%, #fff 0 18%, #c9ced8 34%, #6e7480 70%, #2a2e36 100%); box-shadow: 0 0 10px rgb(255 255 255 / 0.5); flex: none; }
.basvuru-form .secim-alani { border: 0; padding: 0; margin: 1.1rem 0 0; }
.basvuru-form .secim-alani legend { margin-bottom: 0.45rem; }
.basvuru-form .secim label { min-height: 2.75rem; }
.tuzak { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.adimlar-liste { display: grid; gap: 1rem; counter-reset: none; }
.adimlar-liste li { padding: 1rem 1.1rem; border-radius: var(--r-s); background: var(--beyaz); box-shadow: 0 0 0 1px var(--inci-3); color: var(--metin); }
.adimlar-liste strong { color: var(--murekkep); font-weight: 700; }

.vitrin-alt {
  width: 100%;
  max-width: 76rem;
  margin: 0 auto;
  padding: 1.75rem var(--gutter) 2.25rem;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  color: var(--soluk);
  font-size: 0.88rem;
  border-top: 1px solid var(--inci-3);
}
.vitrin-alt .marka { color: var(--murekkep); font-weight: 700; gap: 0.6rem; }
.vitrin-alt .marka img { box-shadow: none; width: 1.6rem; height: 1.6rem; }
.vitrin-alt a { color: inherit; }

@media print {
  @page { size: A4; margin: 14mm 14mm 16mm; }
  .vitrin { background: #fff; }
  .kapak { background: #fff; color: var(--murekkep); padding: 0 0 8mm; }
  .kapak::before, .kapak::after, .davet-kart::before, .davet-kart::after { display: none; }
  .kapak .mikro, .kapak__kunye dt { color: var(--soluk); }
  .kapak__bas em, .davet-kart__bas em { background: none; color: var(--murekkep); }
  .kapak__alt, .kapak__kunye dd { color: var(--metin); }
  .kapak__kunye { border-top-color: #ccc; }
  .kapak .marka img { filter: invert(1); }
  .vitrin-govde { padding: 0; gap: 10mm; }
  .oneri, .kalem, .bulgu { break-inside: avoid; box-shadow: none; border: 1px solid #ddd; }
  .davet-kart { background: #fff; color: var(--murekkep); border: 1px solid #ccc; break-inside: avoid; }
  .davet-kart .mikro, .davet-kart__alt { color: var(--metin); }
  .davetiye__dugmeler, .karar-formu, .red-ac, .secenek { display: none !important; }
  .toplam { position: static; background: #fff; color: var(--murekkep); border: 1px solid #ccc; }
  .toplam dt, .toplam .mikro, .toplam__tutar .kucuk { color: var(--soluk); }
}

/* ---------------------------------------------------------------- Siteniz kartı (yalnız son gerçek ölçüm) */
.site-kart__ust { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.6rem 1rem; }
.site-kart__adres { margin: 0.9rem 0 0.35rem; font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.6rem); font-weight: 500; letter-spacing: -0.03em; overflow-wrap: anywhere; }
.site-kart__cumle { color: var(--metin); }
.site-kart__olcum {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0.9rem 2rem;
  margin: 1.25rem 0 1rem;
  padding-top: 1.1rem;
  border-top: 1px solid var(--inci-3);
}
.site-kart__olcum dt { font-size: var(--fs-mikro); font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--soluk); }
.site-kart__olcum dd { margin-top: 0.3rem; font-variant-numeric: tabular-nums; }

/* ---------------------------------------------------------------- Teklif paneli: vitrin görünümü panel içinde */
.panel-vitrin .kapak { border-radius: var(--r-l); overflow: hidden; }
.panel-vitrin .kapak .marka { display: none; }
.panel-vitrin .vitrin-govde { padding-inline: 0; }
.karar-kimlik { margin: 0.25rem 0 1.25rem; color: var(--acik-giris); }
.karar-kimlik strong { color: var(--acik); font-weight: 700; }
.panel-vitrin .kapak { padding-inline: clamp(1.4rem, 1rem + 3vw, 3.5rem); }
.panel-vitrin .kapak::after { left: 0; right: 0; }

/* ---------------------------------------------------------------- İçerik takvimi */
.sayfa-bas { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem 2rem; }
.ay-gez { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.takvim-izgara { margin-top: 2rem; border-radius: var(--r-m); background: var(--beyaz); box-shadow: 0 0 0 1px rgb(var(--golge-rgb) / 0.06); overflow: hidden; }
.takvim-baslik, .takvim-gunler { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.takvim-baslik span { padding: 0.7rem 0.8rem; font-size: var(--fs-mikro); font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--soluk); border-bottom: 1px solid var(--inci-3); }
.takvim-gun { min-height: 7.5rem; padding: 0.55rem; border-right: 1px solid var(--inci-2); border-bottom: 1px solid var(--inci-2); display: flex; flex-direction: column; gap: 0.35rem; min-width: 0; }
.takvim-gun:nth-child(7n) { border-right: 0; }
.takvim-gun--disari { background: var(--inci); }
.takvim-gun--disari .takvim-gun__no { color: var(--gumus-3); }
.takvim-gun__no { font-size: 0.85rem; font-variant-numeric: tabular-nums; color: var(--soluk); }
.takvim-gun[aria-current="date"] .takvim-gun__no { display: inline-grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--murekkep); color: var(--beyaz); }
.takvim-gun ul { display: grid; gap: 0.3rem; }
.takvim-oge { display: grid; gap: 0.05rem; padding: 0.35rem 0.5rem; border-radius: 8px; text-decoration: none; color: var(--murekkep); font-size: 0.8rem; line-height: 1.25; min-width: 0; }
.takvim-oge__kanal { font-size: 0.66rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.takvim-oge__ad { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Durum biçimle: bekleyen dolu, onaylanan gümüş, değişiklik istenen kesik çizgi */
.takvim-oge--onayda { background: var(--murekkep); color: var(--beyaz); }
.takvim-oge--onaylandi { background: var(--inci-2); color: var(--metin); }
.takvim-oge--degisiklik { box-shadow: inset 0 0 0 1px var(--gumus-4); background: repeating-linear-gradient(135deg, transparent 0 6px, rgb(var(--golge-rgb) / 0.04) 6px 7px); }
.takvim-oge:hover .takvim-oge__ad { text-decoration: underline; text-underline-offset: 0.15em; }
@media (max-width: 63.99rem) { .takvim-izgara { display: none; } }

.gonderi-gunleri { display: grid; gap: 2.25rem; margin-top: 2.5rem; }
.gonderi-gun__bas { font-size: 1.05rem; font-weight: 700; margin-bottom: 0.9rem; padding-bottom: 0.6rem; border-bottom: 1px solid var(--inci-3); }
.gonderiler { display: grid; gap: 1rem; }
.gonderi { display: grid; gap: 0.9rem; scroll-margin-top: 6rem; }
.gonderi:target { box-shadow: 0 0 0 2px var(--murekkep), 0 12px 32px -18px rgb(var(--golge-rgb) / 0.22); }
.gonderi__ust { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; align-items: center; justify-content: space-between; }
.gonderi__govde { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.gonderi__govde:has(.gonderi__gorsel) { grid-template-columns: 11rem minmax(0, 1fr); }
.gonderi__gorsel { display: block; border-radius: 12px; overflow: hidden; background: var(--inci-2); aspect-ratio: 1; }
.gonderi__gorsel img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gonderi__ad { font-size: 1.15rem; font-weight: 500; letter-spacing: -0.02em; }
.gonderi__yazi { margin-top: 0.5rem; white-space: pre-line; color: var(--metin); overflow-wrap: anywhere; }
.gonderi__not { margin-top: 0.6rem; padding: 0.6rem 0.8rem; border-radius: 10px; box-shadow: inset 0 0 0 1px var(--gumus-2); }
.gonderi__meta { margin-top: 0.7rem; font-size: 0.88rem; color: var(--soluk); }
.gonderi__dosya { margin-top: 0.25rem; }
.gonderi__sec { justify-self: start; }
@media (max-width: 40rem) {
  .gonderi__govde:has(.gonderi__gorsel) { grid-template-columns: 1fr; }
  .gonderi__gorsel { aspect-ratio: 4 / 3; }
}
.toplu-onay {
  position: sticky;
  bottom: 1rem;
  z-index: 10;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1.25rem;
  margin-top: 2rem;
  padding: 0.9rem 1rem 0.9rem 1.25rem;
  border-radius: var(--r-m);
  background: var(--gece);
  color: var(--acik);
  --odak: var(--acik);
}
.toplu-onay__yazi { font-size: 0.92rem; color: var(--acik-giris); flex: 1 1 16rem; }
.toplu-onay__dugmeler { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.toplu-onay .dugme { background: var(--acik); color: var(--gece); }
.toplu-onay .dugme--cizgi { background: transparent; color: var(--acik); box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.3); }
@media (max-width: 47.99rem) { .toplu-onay { bottom: calc(4.6rem + env(safe-area-inset-bottom)); } }
@media print { .toplu-onay, .ay-gez, .gonderi__sec { display: none !important; } }

/* ---------------------------------------------------------------- Referans izni */
.referans-form fieldset { border: 0; padding: 0; margin: 0; }
.izinler { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 0.75rem; margin-top: 1rem; }
.izin { display: flex; gap: 0.8rem; align-items: flex-start; padding: 1rem 1.1rem; border-radius: 14px; box-shadow: inset 0 0 0 1px var(--gumus-2); cursor: pointer; min-height: 44px; }
.izin input { width: 1.2rem; height: 1.2rem; margin-top: 0.15rem; accent-color: var(--murekkep); flex: none; }
.izin strong { display: block; font-weight: 700; }
.izin__alt { display: block; margin-top: 0.2rem; font-size: 0.9rem; color: var(--soluk); }
.izin:has(input:checked) { box-shadow: inset 0 0 0 2px var(--murekkep); }
