/*
 * PDP refine — ürün detay sayfaları (pdp-index1 + pdp-index2), 2026-11.
 * Şablonların satır içi stillerinden SONRA yüklenir; yalnızca yerleşim, tipografi ve boşlukları düzenler.
 * Tek sayfa ızgarası: header, hero ve tüm bölümler aynı içerik genişliğine (--pdp-max) ve kenar payına hizalanır.
 * Footer'a dokunulmaz (footer --pdp-shell-pad-* değişkenlerini kullanır; bu dosya o değişkenleri değiştirmez).
 */

:root {
  --pdp-max: 1560px;
  --pdp-gutter: clamp(20px, 4.2vw, 64px);
  --pdp-pad-x: max(var(--pdp-gutter), calc((100vw - var(--pdp-max)) / 2));
  --pdp-header-h: 72px;
  --pdp-green: #5a770e;
  --pdp-green-hover: #66871a;
  --pdp-line: rgba(255, 255, 255, 0.14);
  --pdp-muted: rgba(255, 255, 255, 0.64);
}

/* ───────────────────────── Header (yalnızca ürün sayfası) ───────────────────────── */

body[data-shell-page='pdp'] .shell-header .shell-header__shell {
  padding-left: max(env(safe-area-inset-left, 0px), var(--pdp-pad-x));
  padding-right: max(env(safe-area-inset-right, 0px), var(--pdp-pad-x));
}

/* "Diğer … Makineleri" bağlantısı: dar ekranda kısa etiket, menü sıkışmasın */
.shell-header--pdp .top-right-label__short { display: none; }
@media (max-width: 1599px) {
  .shell-header--pdp .top-right-label__full { display: none; }
  .shell-header--pdp .top-right-label__short { display: inline; }
  .shell-header--pdp .shell-header__pdp-corner { margin-left: 4px; gap: 8px; }
  .shell-header--pdp .shell-header .top-right-label,
  .shell-header--pdp .top-right-label { font-size: 15px; }
}
@media (max-width: 1280px) and (min-width: 1025px) {
  .shell-header--pdp .shell-header__brand-accent { display: none; }
}

/* ───────────────────────── Breadcrumb (hero içinde, başlığın üstünde) ───────────────────────── */

#artboard .copy .pdp-breadcrumb {
  max-width: none;
  margin: 0 0 18px;
  padding: 0;
}
#artboard .copy .pdp-breadcrumb .page-breadcrumb__list {
  font-size: 13px;
  line-height: 1.5;
  gap: 4px 10px;
}
body[data-shell-theme='dark'] #artboard .copy .pdp-breadcrumb { color: rgba(255, 255, 255, 0.6); }
#artboard .copy .pdp-breadcrumb a { text-decoration: none; transition: color 0.2s ease; }
#artboard .copy .pdp-breadcrumb a:hover { color: #fff; text-decoration: underline; }
#artboard .copy .pdp-breadcrumb [aria-current='page'] { color: rgba(255, 255, 255, 0.86); }

/* ───────────────────────── Hero: ortak tipografi ───────────────────────── */

#artboard .copy { max-width: 660px; }
#artboard .title-row { margin-bottom: 18px; gap: 16px; }
#artboard .title {
  white-space: normal;
  font-size: clamp(32px, 2.9vw, 48px);
  line-height: 1.06;
  font-weight: 300;
  letter-spacing: -0.02em;
  text-wrap: balance;
}
#artboard .desc {
  max-width: 64ch;
  font-size: clamp(15px, 1.04vw, 17px);
  line-height: 1.62;
  color: rgba(255, 255, 255, 0.82);
}
#artboard .desc strong { font-weight: 600; color: #fff; }
/* İlk ekran eylemleri (partial: pdp-first-screen-links) */
#artboard .copy .pdp-fs-actions { margin-top: 24px; }

/* Teknik özellik kartları: sola hizalı etiket / değer, sakin çerçeve */
#artboard .spec-grid.sg-dynamic,
#artboard .spec-grid.sg-dynamic.sg-cols-2,
#artboard .spec-grid.sg-dynamic.sg-cols-3,
#artboard .spec-grid.sg-dynamic.sg-cols-4 {
  width: 100%;
  max-width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 10px;
  row-gap: 10px;
}
#artboard .spec-grid.sg-dynamic.sg-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#artboard .spec-grid .spec-card,
#artboard .spec-grid.sg-dynamic .spec-card {
  width: 100%;
  height: auto;
  min-height: 0;
  background: rgba(255, 255, 255, 0.025);
  box-shadow: inset 0 0 0 1px var(--pdp-line);
}
#artboard .spec-grid .spec-inner,
#artboard .spec-grid.sg-dynamic .spec-inner {
  min-height: 0;
  height: auto;
  padding: 12px 14px 13px;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 5px;
  text-align: left;
}
#artboard .spec-grid .spec-label,
#artboard .spec-grid.sg-dynamic .spec-label {
  font-size: 12px;
  line-height: 1.35;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: var(--pdp-muted);
  text-align: left;
}
#artboard .spec-grid .spec-value,
#artboard .spec-grid.sg-dynamic .spec-value {
  margin-top: 0;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: 0;
  text-align: left;
  overflow-wrap: anywhere;
}
#artboard .spec-grid .spec-value--compact,
#artboard .spec-grid.sg-dynamic .spec-value--compact { font-size: 13.5px; line-height: 1.32; }
#artboard .spec-card:hover .spec-label { color: rgba(255, 255, 255, 0.82); }

/* Kartların altındaki eski teklif bağlantısı: ilk ekrandaki buton aynı işi görür (JS #ctaPrice'ı tetikler) */
#artboard .spec-grid > .cta-row { display: none; }
#artboard .spec-grid.sg-dynamic { align-items: stretch; }
#artboard .spec-grid .spec-card { align-self: stretch; }

/* #ctaPrice hâlâ DOM'da (gizli); görünür olursa birincil buton görünümü */
#artboard .cta#ctaPrice {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 50px;
  padding: 0 24px;
  background: var(--pdp-green);
  color: #fff;
  transition: background 0.25s ease, opacity 1300ms var(--ease-soft), transform 1300ms var(--ease-soft), filter 1300ms var(--ease-soft);
}
#artboard .cta#ctaPrice:hover { background: var(--pdp-green-hover); }
#artboard .cta#ctaPrice:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
#artboard .cta#ctaPrice i { font-size: 21px; color: #fff; }
#artboard .cta#ctaPrice .text {
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #fff;
}
#artboard .cta#ctaPrice .text::before,
#artboard .cta#ctaPrice .text::after { display: none; }

/* ───────────────────────── Hero: masaüstü (>1100px) — ölçekli sahne yerine akışkan ızgara ───────────────────────── */

@media (min-width: 1101px) {
  .scroll-inner > .page-section:first-child {
    display: block;
    height: auto;
    min-height: 100vh;
    overflow: visible;
  }
  #sceneScale {
    transform: none !important;
    width: 100%;
    height: auto;
    min-height: 100vh;
  }
  #artboard {
    width: 100%;
    height: auto;
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(0, 46fr) minmax(0, 54fr) auto;
    grid-template-rows: auto minmax(0, 1fr);
    column-gap: clamp(36px, 4vw, 80px);
    align-items: start;
    padding: calc(var(--pdp-header-h) + clamp(24px, 5vh, 64px)) var(--pdp-pad-x) clamp(40px, 7vh, 88px);
    overflow: visible;
  }
  #artboard > .bg { position: absolute; inset: 0; }
  #artboard > .svg-defs { position: absolute; width: 0; height: 0; }

  #artboard .copy-spec-stack {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    grid-column: 1;
    grid-row: 1 / span 2;
    gap: clamp(20px, 3vh, 30px);
  }
  #artboard .copy-spec-stack__slot { width: 100%; }

  #artboard .features-row {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    grid-column: 2 / span 2;
    grid-row: 1;
    width: 100%;
    padding-bottom: clamp(10px, 2.4vh, 24px);
  }

  #artboard .machine-stage {
    position: relative;
    inset: auto;
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    padding-top: clamp(4px, 2vh, 24px);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    pointer-events: none;
  }
  #artboard .machine-wrap {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    max-width: 860px;
    margin: 0 auto;
    transform-origin: center center;
  }
  #artboard .machine-img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: max(320px, calc(100vh - var(--pdp-header-h) - 230px));
    margin: 0 auto;
    object-fit: contain;
  }
  #artboard .machine-halo { left: 50%; top: 32%; width: 46%; }
  #artboard.machine-focus .machine-wrap { transform: scale(1.03); }

  #artboard .certs {
    position: relative;
    right: auto;
    top: auto;
    grid-column: 3;
    grid-row: 2;
    align-self: start;
    margin-top: clamp(80px, 16vh, 180px);
    max-height: 150px;
    max-width: 40px;
  }

}

/* Kısa ekranlı laptoplar (≤820px yükseklik): ilk ekrana sığsın */
@media (min-width: 1101px) and (max-height: 820px) {
  #artboard { padding-top: calc(var(--pdp-header-h) + 18px); padding-bottom: 32px; }
  #artboard .title { font-size: clamp(30px, 2.5vw, 40px); }
  #artboard .desc { font-size: 15px; line-height: 1.55; }
  #artboard .copy-spec-stack { gap: 16px; }
  #artboard .spec-grid .spec-inner,
  #artboard .spec-grid.sg-dynamic .spec-inner { padding: 9px 12px 10px; gap: 3px; }
  #artboard .spec-grid .spec-value,
  #artboard .spec-grid.sg-dynamic .spec-value { font-size: 14px; }
}

/* ───────────────────────── Hero: mobil / tablet (≤1100px) ───────────────────────── */

@media (max-width: 1100px) {
  .scroll-inner > .page-section:first-child {
    padding-inline: 0;
    padding-top: calc(var(--pdp-header-h) + 8px);
  }
  #artboard {
    max-width: 760px;
    padding-inline: var(--pdp-gutter);
    align-items: stretch;
  }
  #artboard .copy,
  #artboard .copy-spec-stack__slot,
  #artboard .features-row,
  #artboard .spec-grid { max-width: none; }
  #artboard .copy { text-align: left; }
  #artboard .copy .title-row { justify-content: flex-start; margin-bottom: 14px; }
  #artboard .title { font-size: clamp(28px, 7.2vw, 38px); }
  #artboard .desc { text-align: left; margin-inline: 0; font-size: 16px; line-height: 1.6; }
  #artboard .copy .pdp-breadcrumb { margin-bottom: 14px; }

  #artboard .machine-stage { max-width: 520px; margin-top: clamp(18px, 4vw, 28px); }
  #artboard .features-row { margin-top: 8px; padding-bottom: clamp(20px, 5vw, 36px); }

  #artboard .spec-grid.sg-dynamic,
  #artboard .spec-grid.sg-dynamic.sg-cols-2,
  #artboard .spec-grid.sg-dynamic.sg-cols-3,
  #artboard .spec-grid.sg-dynamic.sg-cols-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 8px;
    row-gap: 8px;
  }
  #artboard .spec-grid .spec-card { height: 100%; }
  #artboard .spec-grid > .cta-row { width: 100%; }
  #artboard .cta#ctaPrice { width: 100%; justify-content: center; min-height: 52px; }
}
@media (max-width: 380px) {
  #artboard .spec-grid .spec-inner,
  #artboard .spec-grid.sg-dynamic .spec-inner { padding: 10px 11px 11px; }
  #artboard .spec-grid .spec-value,
  #artboard .spec-grid.sg-dynamic .spec-value { font-size: 14px; }
}

/* ───────────────────────── Bölüm başlıkları (beyaz bölümler) ───────────────────────── */

.chart-section-title { letter-spacing: -0.02em; }
.chart-section-sub { color: rgba(0, 0, 0, 0.62); line-height: 1.5; }
@media (max-width: 1100px) {
  .chart-section-head::before,
  .machine-stations-head::before,
  .machine-stations-head.machine-stations-head--split::before {
    font-size: clamp(2rem, 11vw, 3.4rem);
    max-width: 100%;
    overflow: hidden;
  }
}

/* Sarf malzemeleri: dosyanın sonundaki "Sarf malzemeleri (2026-11-11)" bölümüne bakın. */

/* ───────────────────────── SEO blokları + işlem bağlantısı: aynı ızgara ───────────────────────── */

body .tfon-pdp-extras { padding-left: var(--pdp-pad-x); padding-right: var(--pdp-pad-x); padding-top: clamp(56px, 8vh, 96px); }
body .tfon-pdp-extras__inner { max-width: var(--pdp-max); gap: clamp(40px, 5vh, 56px); }
body .tfon-pdp-extras__h { font-size: clamp(1.4rem, 1.9vw, 1.85rem); margin-bottom: 18px; }
.tfon-pdp-process-links {
  padding-left: var(--pdp-pad-x) !important;
  padding-right: var(--pdp-pad-x) !important;
}
.tfon-pdp-process-links > * { max-width: var(--pdp-max); }

/* ───────────────────────── Makine istasyonları + önce/sonra (pdp-index1): ölçekli sahne yerine akışkan ───────────────────────── */

@media (min-width: 1101px) {
  .page-section.page-section--machine-stations {
    display: block;
    height: auto;
    min-height: 0;
    padding: clamp(72px, 10vh, 120px) var(--pdp-pad-x);
  }
  .page-section--machine-stations .machine-stations-scale-slot {
    display: block;
    margin-top: 0 !important;
    min-height: 0 !important;
    height: auto !important;
  }
  .page-section--machine-stations #sceneScaleMachineStations {
    transform: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .page-section--machine-stations .machine-stations-artboard {
    width: 100%;
    max-width: var(--pdp-max);
    margin: 0 auto;
  }
  .page-section--machine-stations .machine-stations-inner { padding: 0; }
  .page-section--machine-stations .machine-stations-split {
    max-width: none;
    column-gap: clamp(40px, 5vw, 96px);
  }
  .page-section--machine-stations .machine-stations-head.machine-stations-head--split {
    margin-bottom: clamp(28px, 4vh, 48px);
  }
  .page-section--machine-stations .chart-section-title { font-size: clamp(28px, 2.3vw, 38px); }
}

/* ───────────────────────── Mobil breadcrumb: yalnız üst kategoriye geri bağlantısı ───────────────────────── */

@media (max-width: 600px) {
  #artboard .copy .pdp-breadcrumb li { display: none; }
  #artboard .copy .pdp-breadcrumb li:nth-last-child(2) { display: block; }
  #artboard .copy .pdp-breadcrumb li:nth-last-child(2)::after { content: none; }
  #artboard .copy .pdp-breadcrumb li:nth-last-child(2) a { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; }
  #artboard .copy .pdp-breadcrumb li:nth-last-child(2) a::before { content: '\2039'; font-size: 20px; line-height: 1; margin-top: -2px; }
}

/* İstasyon açıklaması diyagramın altında ortalı */
.page-section--machine-stations .process-cycle-legend {
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}




/* ───────────────────────── Teklif formu: diyalog (tüm ekranlar) ─────────────────────────
   JS formu body'ye taşır ve .qf-dialog ekler (şablon: "Teklif formu: her ekranda diyalog").
   ≥641px: ortalanmış panel; yüksekliği ekranla sınırlı, sığmazsa panelin içi kayar (sayfa değil).
   ≤640px: tam ekran. Şablondaki eski mobil kurallar !important kullandığı için burada daha özgül seçici + !important. */

html.pdp-qf-open,
html.pdp-qf-open body {
  overflow: hidden !important;
  height: auto !important;   /* eski kural height:100% idi; sayfa en üste sıçrıyordu */
  overscroll-behavior: none;
}

html body > .qf-backdrop { display: none; }
html body > .qf-backdrop.is-active {
  display: block;
  position: fixed;
  inset: 0;
  z-index: 100220;
  background: rgba(0, 0, 0, 0.66);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  animation: pdp-qf-fade 0.26s ease both;
}

html body > .quote-form.qf-dialog {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  z-index: 100230 !important;
  display: block !important;
  box-sizing: border-box;
  width: min(720px, calc(100vw - 48px)) !important;
  max-width: none !important;
  height: fit-content !important;
  min-height: 0 !important;
  max-height: calc(100vh - 48px) !important;
  margin: auto !important;
  padding: clamp(28px, 2.8vw, 40px) clamp(24px, 3vw, 40px) clamp(24px, 2.6vw, 36px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.28) transparent;
  background: #121212 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 0 !important;
  box-shadow: 0 32px 90px rgba(0, 0, 0, 0.55) !important;
  color: #fff;
  font-family: var(--tf-font-sans), 'Raleway', sans-serif;
  text-align: left;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  filter: none !important;
  transform: translate3d(0, 16px, 0) !important;
  transition: opacity 0.26s ease, transform 0.34s cubic-bezier(0.22, 0.74, 0.18, 1), visibility 0s linear 0.34s !important;
}
@supports (height: 100dvh) {
  html body > .quote-form.qf-dialog { max-height: calc(100dvh - 48px) !important; }
}
html body > .quote-form.qf-dialog.qf-visible {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  transition: opacity 0.26s ease, transform 0.34s cubic-bezier(0.22, 0.74, 0.18, 1), visibility 0s !important;
}

html body > .quote-form.qf-dialog .qf-close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 9px 10px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.78);
  font: inherit;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color 0.2s ease;
}
html body > .quote-form.qf-dialog .qf-close i { font-size: 18px; }
html body > .quote-form.qf-dialog .qf-close:hover { color: #fff; }
html body > .quote-form.qf-dialog .qf-close:focus-visible { color: #fff; outline: 2px solid #c6e37a; outline-offset: 2px; }

html body > .quote-form.qf-dialog .qf-title {
  margin: 0 0 6px;
  padding-right: 112px;
  font-size: clamp(22px, 2vw, 28px);
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: -0.01em;
  text-transform: none;
  color: #fff;
}
html body > .quote-form.qf-dialog .qf-sub {
  max-width: 56ch;
  margin: 0 0 24px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.68);
}

html body > .quote-form.qf-dialog .qf-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 14px;
  row-gap: 16px;
  align-content: start;
  grid-auto-rows: auto;
}
html body > .quote-form.qf-dialog .qf-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
html body > .quote-form.qf-dialog .qf-field--quantity { display: flex; }
html body > .quote-form.qf-dialog .qf-field.qf-full { grid-column: 1 / -1; }
html body > .quote-form.qf-dialog .qf-label {
  font-size: 11.5px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
}
html body > .quote-form.qf-dialog .qf-field:has(> [required]:not([readonly])) .qf-label::after { content: ' *'; color: #c6e37a; }
html body > .quote-form.qf-dialog .qf-input,
html body > .quote-form.qf-dialog .qf-select,
html body > .quote-form.qf-dialog .qf-textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 46px;
  margin: 0;
  padding: 11px 13px;
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.04);
  color: #fff;
  font-family: inherit;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
  transition: border-color 0.2s ease, background 0.2s ease;
}
html body > .quote-form.qf-dialog .qf-input::placeholder,
html body > .quote-form.qf-dialog .qf-textarea::placeholder { color: rgba(255, 255, 255, 0.42); }
html body > .quote-form.qf-dialog .qf-input:focus,
html body > .quote-form.qf-dialog .qf-select:focus,
html body > .quote-form.qf-dialog .qf-textarea:focus { outline: none; border-color: #c6e37a; background: rgba(255, 255, 255, 0.07); }
html body > .quote-form.qf-dialog .qf-input[readonly] {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.92);
  font-weight: 600;
  cursor: default;
}
html body > .quote-form.qf-dialog .qf-textarea { height: auto; min-height: 92px; resize: vertical; }

/* reCAPTCHA + Gönder aynı satırda; durum mesajı en altta tam genişlik */
html body > .quote-form.qf-dialog .qf-grid > .site-recaptcha {
  grid-column: 1;
  align-self: center;
  width: 304px;
  max-width: 100%;
  height: 78px;
  min-height: 78px;
  margin: 0;
  overflow: hidden;
}
html body > .quote-form.qf-dialog .qf-submit {
  grid-column: 2;
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 52px;
  margin: 0;
  padding: 0 22px;
  border: 0;
  border-radius: 0;
  background: var(--pdp-green);
  color: #fff;
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: none;
  cursor: pointer;
  transition: background 0.25s ease;
}
html body > .quote-form.qf-dialog .qf-grid:not(:has(> .site-recaptcha)) > .qf-submit { grid-column: 1 / -1; }
html body > .quote-form.qf-dialog .qf-submit i { font-size: 18px; }
html body > .quote-form.qf-dialog .qf-submit:hover { background: var(--pdp-green-hover); border: 0; }
html body > .quote-form.qf-dialog .qf-submit:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
html body > .quote-form.qf-dialog .qf-submit[disabled] { opacity: 0.7; cursor: progress; }
html body > .quote-form.qf-dialog .qf-status {
  grid-column: 1 / -1;
  order: 2;
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.88);
}
html body > .quote-form.qf-dialog .qf-status:empty { display: none; }
html body > .quote-form.qf-dialog .qf-status.is-error { color: #ff9b8f; }
html body > .quote-form.qf-dialog .qf-status.is-success { color: #c6e37a; }

/* Dar panel (tablet dikey vb.): reCAPTCHA (304px) sütuna sığmaz → alt alta */
@media (max-width: 760px) {
  html body > .quote-form.qf-dialog .qf-grid > .site-recaptcha,
  html body > .quote-form.qf-dialog .qf-submit { grid-column: 1 / -1; }
}

/* Kısa ekran (alçak laptop, yatay tablet): daha sıkı, çoğu durumda kaydırmadan sığar */
@media (min-width: 641px) and (max-height: 780px) {
  html body > .quote-form.qf-dialog { padding: 22px 28px 22px !important; }
  html body > .quote-form.qf-dialog .qf-close { top: 10px; right: 10px; }
  html body > .quote-form.qf-dialog .qf-title { font-size: 22px; margin-bottom: 4px; }
  html body > .quote-form.qf-dialog .qf-sub { margin-bottom: 16px; font-size: 13.5px; }
  html body > .quote-form.qf-dialog .qf-grid { row-gap: 12px; }
  html body > .quote-form.qf-dialog .qf-field { gap: 5px; }
  html body > .quote-form.qf-dialog .qf-input,
  html body > .quote-form.qf-dialog .qf-select,
  html body > .quote-form.qf-dialog .qf-textarea { min-height: 42px; padding: 9px 12px; }
  html body > .quote-form.qf-dialog .qf-textarea { min-height: 68px; }
  html body > .quote-form.qf-dialog .qf-submit { min-height: 48px; }
}
@media (min-width: 641px) and (max-height: 620px) {
  html body > .quote-form.qf-dialog { max-height: calc(100vh - 24px) !important; }
  @supports (height: 100dvh) {
    html body > .quote-form.qf-dialog { max-height: calc(100dvh - 24px) !important; }
  }
}

/* Telefon: tam ekran sayfa */
@media (max-width: 640px) {
  html body > .quote-form.qf-dialog {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    padding: calc(22px + env(safe-area-inset-top, 0px)) 20px calc(28px + env(safe-area-inset-bottom, 0px)) !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: translate3d(0, 24px, 0) !important;
  }
  html body > .quote-form.qf-dialog .qf-close {
    position: fixed;
    top: calc(12px + env(safe-area-inset-top, 0px));
    right: 10px;
    background: #121212;
  }
  html body > .quote-form.qf-dialog .qf-title { padding-right: 100px; font-size: 24px; }
  html body > .quote-form.qf-dialog .qf-sub { margin-bottom: 20px; }
  html body > .quote-form.qf-dialog .qf-grid { grid-template-columns: minmax(0, 1fr); row-gap: 14px; }
  html body > .quote-form.qf-dialog .qf-grid > .site-recaptcha,
  html body > .quote-form.qf-dialog .qf-submit { grid-column: 1 / -1; }
}
/* Dokunmatik: 16px altı yazı iOS'ta odaklanınca sayfayı yakınlaştırır */
@media (pointer: coarse) {
  html body > .quote-form.qf-dialog .qf-input,
  html body > .quote-form.qf-dialog .qf-select,
  html body > .quote-form.qf-dialog .qf-textarea { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html body > .qf-backdrop.is-active { animation: none; }
  html body > .quote-form.qf-dialog,
  html body > .quote-form.qf-dialog.qf-visible { transition: none !important; transform: none !important; }
}
@keyframes pdp-qf-fade { from { opacity: 0; } }

/* ───────────────────────── Kapasite grafiği (Leveltech): ölçekli 1920×969 sahne yerine akışkan ─────────────────────────
   Eskiden grafik %65-75'e küçülüyor, bölüm her ekranda 969px kalıyor ve üst/altta boşluk bırakıyordu.
   Şimdi başlık + grafik her masaüstü yüksekliğinde tek ekrana sığar. */
@media (min-width: 1101px) {
  .page-section.page-section--chart {
    display: block;
    height: auto;
    min-height: 0;
    padding: clamp(64px, 9vh, 112px) var(--pdp-pad-x) clamp(56px, 8vh, 96px);
  }
  .page-section--chart #sceneScale2 {
    transform: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .page-section--chart .chart-artboard {
    width: 100%;
    max-width: var(--pdp-max);
    height: auto;
    margin: 0 auto;
    overflow: visible;
    background: transparent;
  }
  .page-section--chart .chart-section-inner { position: relative; inset: auto; padding: 0; }
  .page-section--chart .chart-section-head { margin-bottom: clamp(18px, 3vh, 32px); }
  .page-section--chart .chart-section-title { font-size: clamp(28px, 2.3vw, 38px); }
  .page-section--chart .chart-section-body {
    width: min(100%, 1200px);
    height: clamp(340px, calc(100vh - 320px), 600px);
    margin: 0 auto;
  }
}

/* ───────────────────────── Önce/Sonra ızgaraları ───────────────────────── */
/* Kartlar satırda üstten hizalı (etiketler aynı hizada); çok uzun birleşik görseller satırı uzatmasın */
body .scroll-inner .page-section .product-reveal-grid.product-reveal-grid--in-station { align-items: start; }
body .scroll-inner .page-section .product-reveal-grid.product-reveal-grid--in-station > .product-reveal {
  justify-content: flex-start;
  height: auto;
  min-height: 0;
  align-self: start;
}
body .scroll-inner .page-section .product-reveal-grid.product-reveal-grid--in-station > .product-reveal--combo .pr-img--combo {
  width: auto;
  max-width: 100%;
  max-height: min(340px, 42vh);
  margin-inline: auto;
}
@media (min-width: 1101px) {
  /* İstasyon diyagramı olmayan ürünler (ör. Lite Surfacer): tam genişlikte 2 dev sütun yerine en fazla 4 sütun */
  body .scroll-inner .page-section--machine-stations .machine-stations-col--reveal-full .product-reveal-grid.product-reveal-grid--in-station {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    max-width: 1320px;
    margin-inline: auto;
  }
}
@media (min-width: 641px) and (max-width: 1100px) {
  body .scroll-inner .page-section--machine-stations .machine-stations-col--reveal-full .product-reveal-grid.product-reveal-grid--in-station {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ───────────────────────── Son ayarlar (2026-11-10) ───────────────────────── */

/* Header köşe bağlantısı: her genişlikte kısa "Diğer modeller". Otomatik "Diğer <kategori> Makineleri" etiketi
   bazı dillerde bozuluyordu (DE "Weitere Richt- und-Maschinen", EN "Other Leveling Stress Machines");
   tam kategori adı bağlantının title'ında. */
.shell-header--pdp .top-right-label__full { display: none; }
.shell-header--pdp .top-right-label__short { display: inline; }

/* Dar masaüstü (1101–1365px): metin + teknik kart kolonu biraz daha geniş, değerler (ör. 2350x2450x4060) bölünmesin */
@media (min-width: 1101px) and (max-width: 1365px) {
  #artboard { grid-template-columns: minmax(0, 52fr) minmax(0, 48fr) auto; }
  #artboard .spec-grid .spec-inner,
  #artboard .spec-grid.sg-dynamic .spec-inner { padding: 11px 12px 12px; }
  #artboard .spec-grid .spec-value,
  #artboard .spec-grid.sg-dynamic .spec-value { font-size: 14px; }
}

/* Özellik şeridi (kayan): iz yalnızca maske kutusu içinde boyansın; yatayda kırp, dikeyde (ipuçları) serbest */
@media (min-width: 1101px) {
  #artboard .features-row__mask { overflow-x: clip; overflow-y: visible; }
}

/* Çok dar telefon (<360px, ör. iPhone SE 1. nesil): reCAPTCHA 304px sabit; sağdan kesilmesin diye %92 ölçek */
@media (max-width: 359px) {
  html body > .quote-form.qf-dialog { padding-left: 16px !important; padding-right: 16px !important; }
  html body > .quote-form.qf-dialog .qf-grid > .site-recaptcha { width: 100%; height: 72px; min-height: 72px; }
  html body > .quote-form.qf-dialog .site-recaptcha .g-recaptcha,
  html body > .quote-form.qf-dialog .site-recaptcha .g-recaptcha > div,
  html body > .quote-form.qf-dialog .site-recaptcha .g-recaptcha iframe {
    width: 304px !important;
    max-width: none !important;
  }
  html body > .quote-form.qf-dialog .site-recaptcha .g-recaptcha { transform: scale(0.92); transform-origin: 0 0; }
}


/* ───────────────────────── Sarf malzemeleri (2026-11-11) ─────────────────────────
   Partial: pdp-consumables (cons-* sınıfları). Bölüm sayfanın tam içerik genişliğini kullanır (diğer bölümlerle aynı
   kenar payı); kartlar 1–3 sütun, satırda eşit yükseklik. Kart dar ise (container query) görsel üste geçer. */
.page-section.page-section--consumables {
  display: block;
  padding: clamp(40px, 6vh, 80px) var(--pdp-pad-x) clamp(64px, 9vh, 112px);
}
.page-section--consumables .consumables-wrap { width: 100%; max-width: var(--pdp-max); margin: 0 auto; }
.page-section--consumables .consumables-head { margin-bottom: clamp(32px, 5vh, 56px); }

.cons-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(16px, 1.8vw, 28px);
  align-items: stretch;
}
.cons-card {
  container: cons-card / inline-size;
  position: relative;
  min-width: 0;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.045);
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.cons-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  background: var(--pdp-green);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.4s cubic-bezier(0.22, 0.74, 0.18, 1);
}
@media (hover: hover) {
  .cons-card:hover { border-color: rgba(90, 119, 14, 0.35); box-shadow: 0 18px 44px rgba(0, 0, 0, 0.07); }
  .cons-card:hover::before { transform: scaleX(1); }
}
.cons-card__in {
  display: grid;
  grid-template-columns: clamp(140px, 32%, 230px) minmax(0, 1fr);
  gap: clamp(16px, 1.8vw, 26px);
  align-items: start;
  height: 100%;
  padding: clamp(18px, 1.7vw, 26px);
  box-sizing: border-box;
}
.cons-card__media {
  position: relative;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 9%;
  background: #f4f5f2;
  overflow: hidden;
  box-sizing: border-box;
}
.cons-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.cons-card__body { container: cons-body / inline-size; display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.cons-card__title {
  margin: 0;
  font-size: clamp(18px, 1.3vw, 21px);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: #111;
}
.cons-tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.cons-tags li {
  padding: 5px 10px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
  color: #3d560a;
  background: rgba(90, 119, 14, 0.07);
  border: 1px solid rgba(90, 119, 14, 0.22);
}
.cons-specs { margin: 0; padding: 0; }
.cons-spec {
  display: grid;
  grid-template-columns: minmax(92px, min(38%, 190px)) minmax(0, 1fr);
  gap: 4px 14px;
  align-items: baseline;
  padding: 10px 0;
  border-top: 1px solid rgba(0, 0, 0, 0.07);
}
.cons-spec:last-child { border-bottom: 1px solid rgba(0, 0, 0, 0.07); }
.cons-spec dt {
  margin: 0;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.52);
  overflow-wrap: anywhere;
  -webkit-hyphens: auto;
  hyphens: auto;
}
.cons-spec dd {
  margin: 0;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  color: #111;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.cons-values { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.cons-values li {
  padding: 3px 9px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  white-space: nowrap;
  background: #f4f5f2;
  border: 1px solid rgba(0, 0, 0, 0.08);
}
.cons-tablewrap { overflow-x: auto; }
.cons-table { width: 100%; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums; }
.cons-table th {
  padding: 0 12px 8px 0;
  text-align: left;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.52);
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}
.cons-table td { padding: 8px 12px 8px 0; border-bottom: 1px solid rgba(0, 0, 0, 0.07); color: #111; }
.cons-card__desc { margin: 0; font-size: 14px; line-height: 1.55; color: rgba(0, 0, 0, 0.68); }
.cons-card__desc + .cons-card__desc { margin-top: -6px; }

/* Masaüstü: 2 sütun (1920'de bile kartlar ferah; 3 sütunda değer etiketleri alt alta yığılıyordu) */
@media (min-width: 1101px) {
  .cons-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Dar kart: görsel üstte, sakin bir şerit */
@container cons-card (max-width: 559px) {
  .cons-card__in { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .cons-card__media { aspect-ratio: 16 / 10; max-height: 210px; padding: 6%; }
}
/* Çok dar içerik (ör. 320px telefon): etiket değerin üstünde */
@container cons-body (max-width: 299px) {
  .cons-spec { grid-template-columns: minmax(0, 1fr); gap: 6px; }
}
@media (max-width: 640px) {
  .page-section.page-section--consumables { padding-top: 32px; padding-bottom: 56px; }
}
@media (prefers-reduced-motion: reduce) {
  .cons-card, .cons-card::before { transition: none; }
}

/* İstasyon açıklaması (B / R / C / F): eşit genişlikte hücrelere yayılmak yerine diyagramın altında ortalı, eşit aralıklı */
body .machine-stations-host .process-cycle-legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: clamp(12px, 1.6vw, 20px) clamp(28px, 3.2vw, 56px);
}
body .machine-stations-host .process-cycle-legend-item { flex: 0 1 auto; padding-inline: 0; }
/* Mobil/tablet: önce/sonra kartları arasında net boşluk (bir kartın "Önce"si sonrakinin "Sonra"sına yapışmasın) */
@media (max-width: 1100px) {
  body .scroll-inner .page-section .product-reveal-grid.product-reveal-grid--in-station { row-gap: clamp(28px, 6vw, 44px); }
}
/* Plan v4 R-09: link from each consumable card to its sub-page */
.cons-card__more { margin: 4px 0 0; font-size: 14px; line-height: 1.4; }
.cons-card__more a { color: #3d5a12; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.cons-card__more a:hover, .cons-card__more a:focus-visible { color: #172018; }
