/* =====================================================================
   İris Otomasyon — E-Katalog
   1) /e-katalog vitrin sayfası bileşenleri  (.ir-ek-  — iris-base.css belirteçleriyle)
   2) /e-katalog-baski baskıya hazır A4 katalog (body.ek-doc, .ek-  — bağımsız sayfa, kendi belirteçleri)
   ===================================================================== */

/* ---------- 1) Vitrin sayfası ---------- */
.ir-ek-hero{ display: grid; grid-template-columns: minmax(220px, 300px) 1fr; gap: clamp(24px, 5vw, 64px); align-items: center; }
.ir-ek-cover{ position: relative; display: flex; flex-direction: column; aspect-ratio: 210 / 297; padding: 18px; border-radius: 10px;
  background: linear-gradient(160deg, var(--ir-primary) 0%, var(--ir-primary-2) 55%, var(--ir-ink) 100%); color: #fff !important; text-decoration: none;
  box-shadow: 0 2px 0 rgba(255,255,255,.4) inset, -10px 0 0 -4px #fff, -10px 0 0 -3px var(--ir-line), -18px 0 0 -8px #fff, -18px 0 0 -7px var(--ir-line), var(--ir-shadow-lg, var(--ir-shadow));
  transition: transform .25s ease; overflow: hidden; }
.ir-ek-cover:hover{ transform: translateY(-4px) rotate(-.6deg); }
.ir-ek-cover-top{ display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ir-ek-cover-top img{ width: 46%; height: auto; }
.ir-ek-cover-year{ font-weight: 700; font-size: .85rem; padding: .2rem .6rem; border: 1px solid rgba(255,255,255,.45); border-radius: 99px; }
.ir-ek-cover-arch{ flex: 1; margin: 16px 12% 14px; border-radius: 120px 120px 14px 14px; overflow: hidden; background: rgba(255,255,255,.12); min-height: 0; }
.ir-ek-cover-arch img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.ir-ek-cover-copy small{ display: block; font-size: .65rem; letter-spacing: .16em; text-transform: uppercase; color: #9FE6E4; font-weight: 600; }
.ir-ek-cover-copy b{ display: block; font-size: 1.15rem; line-height: 1.2; font-weight: 700; margin-top: .25rem; }
.ir-ek-cover-foot{ margin-top: 10px; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.25); font-size: .7rem; color: rgba(255,255,255,.75); }

.ir-ek-hero-copy h2{ font-size: clamp(1.5rem, 3vw, 2.1rem); color: var(--ir-primary-2); margin: 0 0 .6rem; line-height: 1.15; }
.ir-ek-hero-copy h2 .ir-num{ color: var(--ir-teal-bright); }
.ir-ek-stats{ list-style: none; display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 1.2rem 0 1.4rem; }
.ir-ek-stats li{ background: var(--ir-cyan); border-radius: 12px; padding: .6rem .95rem; min-width: 96px; }
.ir-ek-stats b{ display: block; font-size: 1.35rem; color: var(--ir-primary-2); line-height: 1.1; }
.ir-ek-stats span{ font-size: .78rem; color: var(--ir-muted); }
.ir-ek-actions{ display: flex; flex-wrap: wrap; gap: 10px; }
.ir-ek-actions small{ font-weight: 400; opacity: .75; }
.ir-ek-tip{ display: flex; gap: .45rem; align-items: flex-start; margin: .9rem 0 0; font-size: .82rem; color: var(--ir-muted); }
.ir-ek-tip .ir-ico{ flex: 0 0 auto; margin-top: 2px; color: var(--ir-primary); }

.ir-ek-minis{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.ir-ek-mini{ display: grid; grid-template-columns: 140px 1fr; gap: 18px; padding: 16px; background: #fff; border: 1px solid var(--ir-line); border-radius: var(--ir-radius); box-shadow: var(--ir-shadow-sm); }
.ir-ek-mini-img{ display: grid; place-items: center; background: var(--ir-cyan); aspect-ratio: 3 / 4; color: var(--ir-primary); }
.ir-ek-mini-img img{ width: 100%; height: 100%; object-fit: cover; }
.ir-ek-mini-body h3{ font-size: 1.15rem; margin: .2rem 0 .1rem; }
.ir-ek-mini-body h3 a{ color: var(--ir-primary-2); text-decoration: none; }
.ir-ek-mini-body h3 a:hover{ color: var(--ir-primary); }
.ir-ek-mini-body > small{ color: var(--ir-muted); font-size: .8rem; }
.ir-ek-chips{ list-style: none; display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: .7rem 0 .9rem; }
.ir-ek-chips a{ display: inline-flex; align-items: center; gap: .35rem; padding: .25rem .65rem; border-radius: 99px; background: var(--ir-soft); border: 1px solid var(--ir-line); color: var(--ir-text); font-size: .8rem; text-decoration: none; }
.ir-ek-chips a:hover{ border-color: var(--ir-primary); color: var(--ir-primary); }
.ir-ek-chips span{ color: var(--ir-muted); font-size: .72rem; }
.ir-ek-mini-actions{ display: flex; flex-wrap: wrap; gap: 8px; }

.ir-ek-request{ display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(24px, 4vw, 56px); align-items: start;
  background: var(--ir-lime); border-radius: var(--ir-radius-lg); padding: clamp(22px, 4vw, 48px); }
.ir-ek-request-copy h2{ color: var(--ir-primary-2); font-size: clamp(1.4rem, 2.6vw, 1.9rem); margin: 0 0 .7rem; line-height: 1.2; }
.ir-ek-request-copy p{ color: var(--ir-text); margin: 0 0 1.2rem; }
.ir-ek-form{ padding: clamp(18px, 3vw, 28px); }
.ir-ek-hp{ position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 991.98px){
  .ir-ek-minis{ grid-template-columns: 1fr; }
  .ir-ek-request{ grid-template-columns: 1fr; }
}
@media (max-width: 767.98px){
  .ir-ek-hero{ grid-template-columns: 1fr; }
  .ir-ek-cover{ width: min(240px, 70%); margin: 0 auto 6px; }
}
@media (max-width: 479.98px){
  .ir-ek-mini{ grid-template-columns: 96px 1fr; gap: 12px; padding: 12px; }
  .ir-ek-actions .ir-btn{ flex: 1 1 100%; justify-content: center; }
}

/* ---------- 1b) Çevrilebilir katalog (flipbook, assets/js/iris-katalog.js + StPageFlip) ---------- */
.ir-fb-head{ display: flex; align-items: flex-end; justify-content: space-between; gap: 12px 40px; flex-wrap: wrap; margin-bottom: clamp(18px, 3vw, 28px); }
.ir-fb-head .ir-title{ margin: .2rem 0 0; }
.ir-fb-head p{ max-width: 480px; margin: 0; color: var(--ir-muted); font-size: .95rem; }

.ir-fb{ position: relative; border-radius: var(--ir-radius-lg); padding: clamp(14px, 3vw, 34px) clamp(8px, 2vw, 24px) clamp(12px, 2vw, 18px);
  background: radial-gradient(120% 90% at 50% 0%, #FFFFFF 0%, var(--ir-cyan) 55%, var(--ir-cyan-2) 100%);
  border: 1px solid var(--ir-line); box-shadow: var(--ir-shadow); }
.ir-fb-stage{ position: relative; display: flex; justify-content: center; align-items: center; min-height: 200px; }
.ir-fb-fit{ position: relative; width: min(100%, calc((84vh - 70px) * 1.414)); margin: 0 auto; }
.ir-fb-book{ width: 100%; }
.ir-fb-book.stf__parent{ filter: drop-shadow(0 22px 28px rgba(0, 77, 81, .22)) drop-shadow(0 2px 3px rgba(12, 47, 37, .12)); }
.ir-fb-page{ background: #fff; overflow: hidden; user-select: none; -webkit-user-select: none; }
.ir-fb .ir-fb-page img{ display: block; width: 100%; height: 100%; object-fit: cover; pointer-events: none; -webkit-user-drag: none; }
.ir-fb-page img:not([src]){ visibility: hidden; }
/* JS gelmeden: yalnız kapak, çift sayfa düzenindeki yerinde (sağ yarı) */
.ir-fb-book:not(.stf__parent) .ir-fb-page{ display: none; }
.ir-fb-book:not(.stf__parent) .ir-fb-page.is-first{ display: block; width: 50%; margin-left: 50%; aspect-ratio: 210 / 297; box-shadow: var(--ir-shadow-lg); }
@media (max-width: 639.98px){ .ir-fb-book:not(.stf__parent) .ir-fb-page.is-first{ width: 100%; margin-left: 0; } }
/* sırt çizgisi (çift sayfada) */
.ir-fb.is-ready:not(.is-single) .ir-fb-book .stf__block::after{ content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 36px; transform: translateX(-50%); pointer-events: none; z-index: 1;
  background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.07) 42%, rgba(0,0,0,.14) 50%, rgba(0,0,0,.07) 58%, rgba(0,0,0,0) 100%); }

.ir-fb-nav{ position: absolute; top: 50%; transform: translateY(-50%); z-index: 5; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%;
  border: 1px solid var(--ir-line); background: #fff; color: var(--ir-primary-2); box-shadow: var(--ir-shadow); cursor: pointer; transition: background .2s, color .2s, opacity .2s, transform .2s; }
.ir-fb-nav--prev{ left: 0; }
.ir-fb-nav--next{ right: 0; }
.ir-fb-nav:hover:not(:disabled){ background: var(--ir-primary); color: #fff; border-color: var(--ir-primary); }
.ir-fb-nav:disabled{ opacity: .35; cursor: default; }
.ir-fb-nav:focus-visible, .ir-fb-btn:focus-visible, .ir-fb-thumbs a:focus-visible{ outline: 3px solid var(--ir-teal-bright); outline-offset: 2px; }

.ir-fb-bar{ display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: clamp(14px, 2vw, 22px) auto 10px; max-width: 760px;
  padding: 6px 6px 6px 18px; background: #fff; border: 1px solid var(--ir-line); border-radius: 99px; box-shadow: var(--ir-shadow-sm); }
.ir-fb-count{ font-weight: 700; color: var(--ir-primary-2); font-size: .95rem; white-space: nowrap; }
.ir-fb-tools{ display: flex; align-items: center; gap: 4px; }
.ir-fb-btn{ display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-width: 42px; height: 42px; padding: 0 10px; border-radius: 99px;
  border: 0; background: transparent; color: var(--ir-primary-2); cursor: pointer; text-decoration: none; font: inherit; font-weight: 600; font-size: .9rem; transition: background .2s, color .2s; }
.ir-fb-btn:hover:not(:disabled){ background: var(--ir-cyan); color: var(--ir-primary); }
.ir-fb-btn:disabled{ opacity: .35; cursor: default; }
.ir-fb-btn--dl{ background: var(--ir-primary); color: #fff !important; padding: 0 16px; }
.ir-fb-btn--dl:hover:not(:disabled){ background: var(--ir-primary-2); color: #fff; }
.ir-fb-btn--dl small{ font-weight: 400; opacity: .8; font-size: .78rem; }
.ir-fb-i-off{ display: none; }
.ir-fb.is-full .ir-fb-i-on{ display: none; }
.ir-fb.is-full .ir-fb-i-off{ display: inline; }

.ir-fb-thumbs{ list-style: none; display: flex; gap: 10px; margin: 0 auto; padding: 6px 4px 10px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; max-width: 100%; justify-content: safe center; }
.ir-fb-thumbs li{ flex: 0 0 auto; scroll-snap-align: center; }
.ir-fb-thumbs a{ position: relative; display: block; border-radius: 6px; border: 2px solid transparent; background: #fff; box-shadow: var(--ir-shadow-sm); transition: border-color .2s, transform .2s; }
.ir-fb-thumbs a:hover{ transform: translateY(-2px); }
.ir-fb-thumbs a.is-on{ border-color: var(--ir-primary); }
.ir-fb .ir-fb-thumbs img{ display: block; height: 84px; width: auto; border-radius: 4px; }
.ir-fb-thumbs span{ position: absolute; right: 4px; bottom: 4px; min-width: 20px; padding: 0 5px; border-radius: 99px; background: rgba(0, 77, 81, .85); color: #fff; font-size: .68rem; line-height: 18px; text-align: center; }

/* tam ekran (Fullscreen API ya da iPhone'da sayfayı kaplayan görünüm) */
.ir-fb.is-full{ border-radius: 0; border: 0; padding: 16px 12px 8px; display: flex; flex-direction: column; justify-content: center;
  background: radial-gradient(110% 80% at 50% 0%, #0E5A5E 0%, #06393C 60%, #042528 100%); }
.ir-fb.is-fs{ position: fixed; inset: 0; z-index: 2000; overflow: auto; }
.ir-fb.is-full .ir-fb-stage{ flex: 1 1 auto; }
.ir-fb.is-full .ir-fb-thumbs a{ background: #0A4448; }
html.ir-fb-lock, html.ir-fb-lock body{ overflow: hidden; }

/* yakınlaştırma penceresi */
.ir-fb-zoom{ position: fixed; inset: 0; z-index: 2100; display: flex; flex-direction: column; background: #041E20; color: #fff; }
.ir-fb-zoom[hidden]{ display: none; }
.ir-fb-zoom-bar{ display: flex; align-items: center; justify-content: center; gap: 4px; padding: 10px 12px; flex-wrap: wrap; }
.ir-fb-zoom .ir-fb-btn{ color: #fff; }
.ir-fb-zoom .ir-fb-btn:hover:not(:disabled){ background: rgba(255,255,255,.12); color: #fff; }
.ir-fb-zoom-count, .ir-fb-zoom-pct{ min-width: 92px; text-align: center; font-weight: 600; font-size: .9rem; }
.ir-fb-zoom-pct{ min-width: 52px; }
.ir-fb-zoom-sep{ width: 1px; height: 22px; background: rgba(255,255,255,.25); margin: 0 8px; }
.ir-fb-btn--close{ margin-left: 8px; background: rgba(255,255,255,.1) !important; }
.ir-fb-zoom-view{ position: relative; flex: 1 1 auto; min-height: 0; overflow: hidden; touch-action: none; cursor: zoom-in; }
.ir-fb-zoom-view.is-zoomed{ cursor: grab; }
.ir-fb-zoom-view.is-zoomed:active{ cursor: grabbing; }
.ir-fb .ir-fb-zoom-view img{ position: absolute; top: 0; right: 8px; bottom: 12px; left: 8px; margin: auto; max-width: calc(100% - 16px); max-height: calc(100% - 12px); width: auto; height: auto; object-fit: contain; background: #fff; transform-origin: center center; will-change: transform; user-select: none; -webkit-user-select: none; box-shadow: 0 20px 60px rgba(0,0,0,.45); }

/* sayfa metni (erişilebilirlik / arama motorları) */
.ir-fb-text{ margin-top: 18px; border: 1px solid var(--ir-line); border-radius: var(--ir-radius); background: #fff; }
.ir-fb-text summary{ display: flex; align-items: center; gap: .5rem; padding: 14px 18px; cursor: pointer; font-weight: 600; color: var(--ir-primary-2); list-style: none; }
.ir-fb-text summary::-webkit-details-marker{ display: none; }
.ir-fb-text summary small{ font-weight: 400; color: var(--ir-muted); }
.ir-fb-text summary::after{ content: ""; margin-left: auto; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .2s; }
.ir-fb-text[open] summary::after{ transform: rotate(-135deg); }
.ir-fb-text-body{ display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px 28px; padding: 4px 18px 18px; }
.ir-fb-text-body h3{ font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ir-teal-bright); margin: 0 0 .3rem; }
.ir-fb-text-body p{ margin: 0; font-size: .88rem; color: var(--ir-text); line-height: 1.5; }

@media (max-width: 767.98px){
  .ir-fb{ margin-left: calc(var(--ir-gutter) * -0.5); margin-right: calc(var(--ir-gutter) * -0.5); }
  .ir-fb-nav{ width: 40px; height: 40px; background: rgba(255,255,255,.88); }
  .ir-fb-nav--prev{ left: -2px; }
  .ir-fb-nav--next{ right: -2px; }
  .ir-fb-bar{ padding-left: 14px; }
  .ir-fb-btn--dl small{ display: none; }
  .ir-fb .ir-fb-thumbs img{ height: 64px; }
  .ir-fb-zoom-count{ min-width: 76px; }
  .ir-fb-zoom-sep{ margin: 0 2px; }
}
@media (max-width: 479.98px){
  .ir-fb-zoom-bar{ gap: 0; padding: 8px 6px; flex-wrap: nowrap; }
  .ir-fb-zoom-sep, .ir-fb-zoom-pct{ display: none; }
  .ir-fb-zoom .ir-fb-btn{ min-width: 40px; padding: 0 6px; }
  .ir-fb-btn--close{ margin-left: 4px; }
}
@media (prefers-reduced-motion: reduce){
  .ir-fb-thumbs a, .ir-fb-nav{ transition: none; }
}

/* ---------- 2) Baskıya hazır katalog (bağımsız sayfa) ---------- */
body.ek-doc{
  --ek-primary: #006267; --ek-primary-2: #004D51; --ek-ink: #0C2F25; --ek-text: #2E4A4C; --ek-muted: #5E7B7D;
  --ek-line: #D6ECEE; --ek-cyan: #E8FBFD; --ek-lime: #F7FDD6; --ek-bright: #19B6B3;
  margin: 0; background: #E9EFEF; color: var(--ek-text);
  font-family: "Bricolage Grotesque", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 10pt; line-height: 1.45; -webkit-print-color-adjust: exact; print-color-adjust: exact;
}
.ek-doc *, .ek-doc *::before, .ek-doc *::after{ box-sizing: border-box; }
.ek-doc img{ max-width: 100%; }
.ek-doc h1, .ek-doc h2, .ek-doc h3, .ek-doc h4{ color: var(--ek-primary-2); margin: 0; line-height: 1.15; font-weight: 700; }

/* Araç çubuğu (yalnız ekran) */
.ek-toolbar{ position: sticky; top: 0; z-index: 10; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; padding: 10px 16px;
  background: var(--ek-ink); color: #fff; font-size: 14px; box-shadow: 0 4px 18px rgba(0,0,0,.18); }
.ek-tb-back{ color: #9FE6E4; text-decoration: none; font-weight: 600; }
.ek-tb-back:hover{ color: #fff; }
.ek-tb-title{ flex: 1; min-width: 180px; }
.ek-tb-title b{ display: block; font-size: 15px; }
.ek-tb-title small{ color: rgba(255,255,255,.65); }
.ek-tb-btn{ font: inherit; font-weight: 700; border: 0; border-radius: 6px; padding: .6rem 1.1rem; background: var(--ek-bright); color: var(--ek-ink); cursor: pointer; }
.ek-tb-btn:hover{ background: #fff; }
.ek-tb-btn:focus-visible, .ek-tb-back:focus-visible{ outline: 2px solid #fff; outline-offset: 2px; }
.ek-tb-tip{ flex-basis: 100%; margin: 0; font-size: 12px; color: rgba(255,255,255,.7); }

/* Kitap: ekranda A4 genişliğinde kâğıt */
.ek-book{ width: 210mm; max-width: 100%; margin: 24px auto 48px; }
.ek-page, .ek-section{ background: #fff; box-shadow: 0 6px 24px rgba(12,47,37,.12); margin-bottom: 18px; }
.ek-page{ position: relative; min-height: 297mm; padding: 16mm 15mm; overflow: hidden; }
.ek-section{ padding: 14mm 15mm 12mm; }

/* Kapak */
.ek-cover{ display: flex; flex-direction: column; color: #fff; padding: 18mm 16mm 14mm;
  background: linear-gradient(160deg, var(--ek-primary) 0%, var(--ek-primary-2) 52%, var(--ek-ink) 100%); }
.ek-cover-top{ display: flex; justify-content: space-between; align-items: center; }
.ek-cover-logo{ width: 62mm; height: auto; }
.ek-cover-year{ font-size: 13pt; font-weight: 700; padding: 1.5mm 5mm; border: 1px solid rgba(255,255,255,.5); border-radius: 99px; }
.ek-cover-arch{ flex: 1; margin: 14mm 22mm 12mm; border-radius: 90mm 90mm 8mm 8mm; overflow: hidden; background: rgba(255,255,255,.1); min-height: 90mm; }
.ek-cover-arch img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.ek-cover-kicker{ display: block; font-size: 10pt; letter-spacing: .2em; text-transform: uppercase; font-weight: 600; color: #9FE6E4; }
.ek-cover-copy h1{ color: #fff; font-size: 32pt; margin: 3mm 0 4mm; letter-spacing: -.01em; }
.ek-cover-copy p{ font-size: 12pt; color: rgba(255,255,255,.82); margin: 0; max-width: 150mm; }
.ek-cover-foot{ display: flex; flex-wrap: wrap; gap: 3mm 9mm; margin-top: 12mm; padding-top: 5mm; border-top: 1px solid rgba(255,255,255,.3); font-size: 10pt; color: rgba(255,255,255,.85); }

/* İçindekiler */
.ek-kicker{ display: block; font-size: 8.5pt; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; color: var(--ek-primary); margin-bottom: 2mm; }
.ek-h2{ font-size: 22pt; margin-bottom: 10mm !important; }
.ek-toc-list{ list-style: none; margin: 0; padding: 0; }
.ek-toc-list a{ display: grid; grid-template-columns: 16mm 1fr auto; gap: 5mm; align-items: center; padding: 5mm 0; border-bottom: 1px solid var(--ek-line); color: inherit; text-decoration: none; }
.ek-toc-no{ font-size: 20pt; font-weight: 700; color: var(--ek-bright); font-variant-numeric: tabular-nums; }
.ek-toc-name b{ display: block; font-size: 13pt; color: var(--ek-primary-2); }
.ek-toc-name small{ display: block; color: var(--ek-muted); font-size: 9pt; margin-top: 1mm; }
.ek-toc-count{ font-size: 9pt; font-weight: 600; color: var(--ek-primary); background: var(--ek-cyan); border-radius: 99px; padding: 1mm 3.5mm; white-space: nowrap; }
.ek-toc-note{ margin-top: 12mm; padding: 6mm 7mm; background: var(--ek-lime); border-radius: 4mm; }
.ek-toc-note b{ color: var(--ek-primary-2); font-size: 11pt; }
.ek-toc-note p{ margin: 2mm 0 0; font-size: 9.5pt; }

/* Bölüm başı */
.ek-sec-head{ display: flex; gap: 8mm; align-items: stretch; padding: 7mm; margin-bottom: 7mm; border-radius: 5mm; background: var(--ek-cyan); break-inside: avoid; break-after: avoid; }
.ek-sec-copy{ flex: 1; }
.ek-sec-no{ display: block; font-size: 26pt; font-weight: 700; line-height: 1; color: var(--ek-bright); margin-bottom: 2mm; }
.ek-sec-head h2{ font-size: 20pt; }
.ek-sec-head p{ margin: 2.5mm 0 0; font-size: 9.5pt; }
.ek-sec-head small{ display: inline-block; margin-top: 3mm; font-size: 8.5pt; font-weight: 600; color: var(--ek-primary); }
.ek-sec-img{ flex: 0 0 42mm; border-radius: 22mm 22mm 3mm 3mm; overflow: hidden; }
.ek-sec-img img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.ek-group{ display: flex; justify-content: space-between; align-items: baseline; gap: 4mm; font-size: 12pt !important; margin: 6mm 0 3.5mm !important; padding-bottom: 2mm; border-bottom: 2px solid var(--ek-primary); break-after: avoid; }
.ek-group small{ font-size: 8.5pt; font-weight: 600; color: var(--ek-muted); }
.ek-empty{ color: var(--ek-muted); font-style: italic; }

/* Ürün kartları: 3 sütun */
.ek-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4mm; }
.ek-card{ display: flex; flex-direction: column; border: 1px solid var(--ek-line); border-radius: 3mm; overflow: hidden; break-inside: avoid; page-break-inside: avoid; background: #fff; }
.ek-card-img{ aspect-ratio: 4 / 3; background: #F4FAFA; display: grid; place-items: center; padding: 3mm; }
.ek-card-img img{ width: 100%; height: 100%; object-fit: contain; display: block; }
.ek-card-body{ flex: 1; padding: 2.5mm 3mm 2mm; }
.ek-card-brand{ display: block; font-size: 7pt; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: var(--ek-primary); }
.ek-card h4{ font-size: 9pt; font-weight: 600; color: var(--ek-ink); margin: .8mm 0 1.2mm; }
.ek-card-sku{ display: inline-block; font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; font-size: 6.8pt; color: var(--ek-muted); background: #F4FAFA; border-radius: 1mm; padding: .3mm 1.2mm; }
.ek-card p{ margin: 1.2mm 0 0; font-size: 7.6pt; color: var(--ek-muted); line-height: 1.35; }
.ek-card-price{ padding: 2mm 3mm; border-top: 1px solid var(--ek-line); font-size: 9pt; font-weight: 700; color: var(--ek-primary-2); font-variant-numeric: tabular-nums; }
.ek-card-price.is-ask{ color: var(--ek-primary); background: var(--ek-cyan); font-weight: 600; }

/* Hizmetler */
.ek-svc-list{ display: grid; gap: 5mm; }
.ek-svc{ display: grid; grid-template-columns: 52mm 1fr; gap: 6mm; padding: 5mm; border: 1px solid var(--ek-line); border-radius: 4mm; break-inside: avoid; }
.ek-svc-img{ border-radius: 26mm 26mm 3mm 3mm; overflow: hidden; aspect-ratio: 4 / 3; }
.ek-svc-img img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.ek-svc-no{ font-size: 14pt; font-weight: 700; color: var(--ek-bright); }
.ek-svc h3{ font-size: 14pt; margin: .5mm 0 1.5mm; }
.ek-svc p{ margin: 0 0 2mm; font-size: 9pt; }
.ek-svc ul{ margin: 0; padding-left: 4.5mm; font-size: 8.6pt; columns: 2; column-gap: 6mm; }
.ek-svc li{ margin-bottom: .8mm; break-inside: avoid; }
.ek-svc li::marker{ color: var(--ek-primary); }

/* Arka kapak */
.ek-back{ display: flex; flex-direction: column; justify-content: space-between; color: #fff; padding: 22mm 18mm 12mm; background: var(--ek-ink); }
.ek-back-inner{ max-width: 150mm; }
.ek-back-logo{ width: 56mm; height: auto; margin-bottom: 18mm; }
.ek-back h2{ color: #fff; font-size: 26pt; margin-bottom: 5mm; }
.ek-back-inner > p{ font-size: 11pt; color: rgba(255,255,255,.8); margin: 0 0 12mm; }
.ek-back-list{ list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6mm 10mm; }
.ek-back-list li.is-wide{ grid-column: 1 / -1; }
.ek-back-list small{ display: block; font-size: 8pt; letter-spacing: .16em; text-transform: uppercase; color: #9FE6E4; font-weight: 600; margin-bottom: 1mm; }
.ek-back-list b{ display: block; font-size: 13pt; font-weight: 600; }
.ek-back-list span{ display: block; font-size: 10pt; color: rgba(255,255,255,.75); margin-top: 1mm; }
.ek-back-legal{ margin: 0; padding-top: 5mm; border-top: 1px solid rgba(255,255,255,.2); font-size: 7.5pt; color: rgba(255,255,255,.6); }

/* Dar ekran (telefonda önizleme) */
@media screen and (max-width: 820px){
  .ek-book{ margin: 12px auto 32px; }
  .ek-page{ min-height: 0; padding: 22px 16px; }
  .ek-section{ padding: 20px 16px; }
  .ek-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ek-cover-copy h1{ font-size: 26px; }
  .ek-cover-arch{ margin: 20px 10%; min-height: 200px; }
  .ek-sec-img{ display: none; }
  .ek-svc{ grid-template-columns: 1fr; }
  .ek-back-list{ grid-template-columns: 1fr; }
}

/* ---------- Baskı ---------- */
@page{ size: A4; margin: 12mm 12mm 14mm;
  @bottom-left{ content: "İris Otomasyon · E-Katalog"; font-family: "Bricolage Grotesque", sans-serif; font-size: 7.5pt; color: #5E7B7D; }
  @bottom-right{ content: counter(page); font-family: "Bricolage Grotesque", sans-serif; font-size: 8pt; font-weight: 700; color: #006267; }
}
@page cover{ margin: 0; @bottom-left{ content: none; } @bottom-right{ content: none; } }
@page back{ margin: 0; @bottom-left{ content: none; } @bottom-right{ content: none; } }

@media print{
  body.ek-doc{ background: #fff; font-size: 9.5pt; }
  .ek-toolbar{ display: none !important; }
  .ek-book{ width: auto; margin: 0; }
  .ek-page, .ek-section{ box-shadow: none; margin: 0; }
  .ek-section{ padding: 0; break-before: page; page-break-before: always; }
  .ek-toc{ break-before: page; page-break-before: always; min-height: 0; padding: 0; overflow: visible; }
  .ek-cover{ page: cover; height: 296mm; min-height: 0; break-after: page; }
  .ek-back{ page: back; height: 296mm; min-height: 0; break-before: page; page-break-before: always; }
  .ek-cover + .ek-section, .ek-cover + .ek-toc{ break-before: auto; page-break-before: auto; }
  .ek-doc a{ color: inherit; text-decoration: none; }
}
