/* =========================================================================
   İris — Referanslar / Projeler (referanslar.php, proje.php, hizmet bloğu, logo şeridi)
   Öneki: .irr-   Ortak belirteçler: iris-base.css (--ir-*)
   ========================================================================= */

/* ---------- Sayaçlar ---------- */
.irr-stats-wrap{ margin-top: clamp(-28px, -3vw, -18px); position: relative; z-index: 1; }
.irr-stats{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 0; background: #fff; border: 1px solid var(--ir-line); border-radius: var(--ir-radius-lg); box-shadow: var(--ir-shadow); overflow: hidden; }
.irr-stat{ display: flex; flex-direction: column-reverse; gap: 2px; padding: clamp(16px, 2.4vw, 26px) clamp(16px, 2.4vw, 28px); }
.irr-stat + .irr-stat{ border-left: 1px solid var(--ir-line); }
.irr-stat dt{ font-size: .84rem; color: var(--ir-muted); font-weight: 500; }
.irr-stat dd{ margin: 0; font-size: clamp(1.9rem, 4vw, 2.8rem); line-height: 1; font-weight: 600; color: var(--ir-primary); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }

/* ---------- Filtreler ---------- */
.irr-filters{ display: grid; gap: 12px; margin-bottom: clamp(20px, 3vw, 32px); padding: clamp(14px, 2vw, 20px); background: var(--ir-soft); border-radius: var(--ir-radius); }
.irr-filter-row{ display: flex; align-items: center; gap: 10px 14px; min-width: 0; }
.irr-filter-label{ flex: none; width: 64px; font-size: .74rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ir-primary-2); }
.irr-chips{ display: flex; gap: 8px; flex-wrap: wrap; min-width: 0; }
.irr-result{ display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; margin: 0 0 18px; color: var(--ir-text); }
.irr-result b{ color: var(--ir-primary-2); }
.irr-clear{ display: inline-flex; align-items: center; gap: 4px; font-size: .86rem; font-weight: 600; margin-left: auto; }

/* ---------- Proje kartı ---------- */
.irr-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.2vw, 28px); }
.irr-card{ position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ir-line); border-radius: var(--ir-radius-lg); padding: 10px 10px 0; box-shadow: var(--ir-shadow-sm); transition: box-shadow .25s, transform .25s, border-color .25s; min-width: 0; }
.irr-card:hover{ box-shadow: var(--ir-shadow); transform: translateY(-3px); border-color: var(--ir-cyan-2); }
.irr-card-media{ position: relative; display: block; aspect-ratio: 4 / 3; background: var(--ir-cyan); border-radius: 140px 140px 16px 16px; overflow: hidden; }
body.ir .irr-card-media img{ width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.irr-card:hover .irr-card-media img{ transform: scale(1.04); }
.irr-card-ph{ position: absolute; inset: 0; display: grid; place-items: center; color: var(--ir-primary); }
.irr-card-tag{ position: absolute; left: 12px; bottom: 12px; padding: .28rem .7rem; border-radius: 999px; background: rgba(255,255,255,.94); color: var(--ir-primary-2); font-size: .76rem; font-weight: 600; box-shadow: var(--ir-shadow-sm); }
.irr-card-body{ display: flex; flex-direction: column; gap: 6px; padding: 16px 10px 18px; flex: 1; }
.irr-card-meta{ display: flex; gap: 12px; flex-wrap: wrap; margin: 0; font-size: .8rem; color: var(--ir-muted); }
.irr-card-meta span{ display: inline-flex; align-items: center; gap: 4px; }
body.ir .irr-card-title{ font-size: 1.14rem; line-height: 1.3; margin: 0; font-weight: 600; }
body.ir .irr-card-title a{ color: var(--ir-primary-2); }
.irr-card-title a::after{ content: ""; position: absolute; inset: 0; border-radius: inherit; }   /* tüm kart tıklanır */
.irr-card-title a:focus-visible{ outline: 0; }
.irr-card:has(.irr-card-title a:focus-visible){ outline: 2px solid var(--ir-teal-bright); outline-offset: 2px; }
.irr-card-client{ margin: 0; font-size: .88rem; color: var(--ir-text); }
.irr-card-metric{ display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; margin: 4px 0 0; padding: 8px 12px; border-radius: 10px; background: var(--ir-lime); font-size: .82rem; color: var(--ir-text); }
.irr-card-metric b{ font-size: 1.05rem; color: var(--ir-ink); font-weight: 600; font-variant-numeric: tabular-nums; }
.irr-card-svcs{ list-style: none; margin: auto 0 0; padding: 8px 0 0; display: flex; flex-wrap: wrap; gap: 6px; }
.irr-card-svcs li{ font-size: .74rem; font-weight: 600; padding: .2rem .55rem; border-radius: 999px; background: var(--ir-cyan); color: var(--ir-primary-2); }

/* ---------- Logo şeridi ---------- */
.irr-logos{ padding: clamp(36px, 5vw, 64px) 0; }
.irr-logos-head{ display: flex; align-items: flex-end; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; margin-bottom: clamp(18px, 2.5vw, 28px); }
body.ir .irr-logos-title{ font-size: clamp(1.4rem, 2.6vw, 1.9rem); margin: 0; }
.irr-logos-list{ list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.irr-logo > a, .irr-logo > span{ display: grid; place-items: center; height: 96px; padding: 14px 18px; border-radius: var(--ir-radius); background: var(--ir-cyan); border: 1px solid transparent; transition: background .2s, border-color .2s; }
.irr-logo > a:hover{ background: #fff; border-color: var(--ir-line); }
body.ir .irr-logo img{ max-width: 100%; max-height: 56px; width: auto; height: auto; object-fit: contain; filter: grayscale(1); opacity: .78; mix-blend-mode: multiply; transition: filter .2s, opacity .2s; }
.irr-logo > a:hover img, .irr-logo > span:hover img{ filter: none; opacity: 1; }

/* ---------- Detay: hero ---------- */
.irr-hero{ background: var(--ir-cyan); margin: 0 var(--ir-gutter); border-radius: 0 0 var(--ir-radius-lg) var(--ir-radius-lg); padding: clamp(22px, 3.5vw, 40px) 0 clamp(30px, 5vw, 60px); }
.irr-hero-grid{ display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(24px, 5vw, 64px); align-items: center; }
.irr-hero-media{ margin: 0; aspect-ratio: 4 / 3.4; background: #fff; box-shadow: var(--ir-shadow); }
body.ir .irr-hero-media img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.irr-facts{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 1.5rem 0 0; }
.irr-facts > div{ background: #fff; border-radius: var(--ir-radius); padding: 12px 14px; min-width: 0; }
.irr-facts dt{ display: flex; align-items: center; gap: 6px; font-size: .74rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ir-primary); margin-bottom: 2px; }
.irr-facts dd{ margin: 0; color: var(--ir-ink); font-weight: 500; font-size: .95rem; line-height: 1.4; overflow-wrap: anywhere; }

/* ---------- Detay: metrikler ---------- */
.irr-metrics-wrap{ margin-top: clamp(24px, 4vw, 40px); }
.irr-metrics-box{ padding: clamp(22px, 3.5vw, 40px) 0; }
.irr-metrics-title{ margin: 0 0 10px; font-size: 1rem; }
.irr-metrics{ display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: clamp(12px, 2vw, 20px); margin: 0; }
.irr-metric{ display: flex; flex-direction: column-reverse; gap: 6px; padding: 18px 20px; background: #fff; border-radius: var(--ir-radius); border-left: 4px solid var(--ir-primary); min-width: 0; }
.irr-metric dd{ margin: 0; font-size: clamp(1.45rem, 2.8vw, 2rem); line-height: 1.1; font-weight: 600; color: var(--ir-primary-2); letter-spacing: -.01em; overflow-wrap: anywhere; }
.irr-metric dt{ font-size: .88rem; color: var(--ir-text); }

/* ---------- Detay: sorun – çözüm – sonuç ---------- */
.irr-layout{ display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(24px, 4vw, 56px); align-items: start; }
.irr-story{ display: grid; gap: clamp(16px, 2.4vw, 24px); min-width: 0; }
.irr-step{ display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 18px; padding: clamp(18px, 2.6vw, 28px); border: 1px solid var(--ir-line); border-radius: var(--ir-radius-lg); background: #fff; }
.irr-step--outcome{ background: var(--ir-cyan); border-color: transparent; }
.irr-step-ico{ width: 52px; height: 60px; display: grid; place-items: center; border-radius: 26px 26px 10px 10px; background: var(--ir-cyan); color: var(--ir-primary); }
.irr-step--outcome .irr-step-ico{ background: var(--ir-primary); color: #fff; }
.irr-step-no{ display: block; font-size: .74rem; font-weight: 600; letter-spacing: .14em; color: var(--ir-muted); }
body.ir .irr-step h2{ font-size: clamp(1.25rem, 2.2vw, 1.5rem); margin: 2px 0 .5em; }
.irr-step .ir-prose > :last-child{ margin-bottom: 0; }
.irr-aside{ display: grid; gap: 14px; position: sticky; top: 96px; }
.irr-svc-card{ display: flex; align-items: center; gap: 12px; padding: 10px 14px 10px 10px; border: 1px solid var(--ir-line); border-radius: var(--ir-radius); background: #fff; color: var(--ir-primary-2) !important; transition: border-color .2s, box-shadow .2s; }
.irr-svc-card:hover{ border-color: var(--ir-primary); box-shadow: var(--ir-shadow-sm); }
body.ir .irr-svc-card-img{ width: 64px; height: 72px; flex: none; background: var(--ir-cyan); border-radius: 32px 32px 8px 8px; }
body.ir .irr-svc-card-img img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.irr-svc-card-body{ flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.irr-svc-card-body small{ font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ir-primary); }
.irr-svc-card-body b{ font-weight: 600; }
.irr-svc-card-body span{ font-size: .8rem; color: var(--ir-muted); margin-top: 2px; }
.irr-svc-card-go{ color: var(--ir-primary); }

/* ---------- Detay: galeri ---------- */
.irr-gallery{ list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(140px, 17vw, 220px); gap: clamp(10px, 1.4vw, 16px); }
.irr-gallery li:first-child{ grid-column: span 2; grid-row: span 2; }
.irr-gallery--n4{ grid-auto-flow: dense; }
.irr-gallery--n3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.irr-gallery--n2{ grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); grid-auto-rows: clamp(220px, 30vw, 400px); }
.irr-gallery--n1{ grid-template-columns: minmax(0, 1fr); grid-auto-rows: clamp(220px, 42vw, 520px); }
.irr-gallery--n1 li:first-child, .irr-gallery--n2 li:first-child{ grid-column: auto; grid-row: auto; }
.irr-gal-item{ position: relative; display: block; width: 100%; height: 100%; border-radius: var(--ir-radius); overflow: hidden; background: var(--ir-cyan); }
.irr-gal-item.is-wide{ border-radius: 120px 120px 18px 18px; }
body.ir .irr-gal-item img{ width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.irr-gal-item:hover img{ transform: scale(1.05); }
.irr-gal-cap{ position: absolute; left: 10px; right: 10px; bottom: 10px; padding: .35rem .7rem; border-radius: 10px; background: rgba(12,47,37,.72); color: #fff; font-size: .8rem; line-height: 1.3; backdrop-filter: blur(4px); }
.irr-gal-zoom{ position: absolute; top: 12px; right: 12px; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--ir-primary); opacity: 0; transform: scale(.85); transition: opacity .2s, transform .2s; }
.irr-gal-item.is-wide .irr-gal-zoom{ top: auto; bottom: 12px; }
.irr-gal-item.is-wide .irr-gal-cap{ right: 60px; }
.irr-gal-item:hover .irr-gal-zoom, .irr-gal-item:focus-visible .irr-gal-zoom{ opacity: 1; transform: none; }

/* ---------- Lightbox (iris-referans.js) ---------- */
.irr-lb{ position: fixed; inset: 0; z-index: 3000; display: grid; grid-template-columns: 64px minmax(0, 1fr) 64px; grid-template-rows: 56px minmax(0, 1fr) auto; background: rgba(8,30,24,.94); color: #fff; padding: 8px; }
.irr-lb[hidden]{ display: none; }
.irr-lb-fig{ grid-column: 2; grid-row: 2; margin: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 0; }
.irr-lb-fig img{ max-width: 100%; max-height: calc(100vh - 150px); object-fit: contain; border-radius: 12px; box-shadow: 0 30px 80px -30px rgba(0,0,0,.6); }
.irr-lb-cap{ grid-column: 1 / -1; grid-row: 3; text-align: center; padding: 10px 16px 14px; font-size: .92rem; color: #D7F1F2; }
.irr-lb-count{ grid-column: 1 / 3; grid-row: 1; align-self: center; padding-left: 12px; font-size: .86rem; color: #BDEFF0; font-variant-numeric: tabular-nums; }
.irr-lb button{ width: 48px; height: 48px; border-radius: 50%; border: 0; background: rgba(255,255,255,.12); color: #fff; cursor: pointer; display: grid; place-items: center; align-self: center; justify-self: center; transition: background .2s; }
.irr-lb button:hover{ background: rgba(255,255,255,.24); }
.irr-lb button:focus-visible{ outline: 2px solid var(--ir-teal-bright); outline-offset: 2px; }
.irr-lb-close{ grid-column: 3; grid-row: 1; }
.irr-lb-prev{ grid-column: 1; grid-row: 2; }
.irr-lb-next{ grid-column: 3; grid-row: 2; }
.irr-lb-single .irr-lb-prev, .irr-lb-single .irr-lb-next{ visibility: hidden; }
body.irr-lb-open{ overflow: hidden; }

/* ---------- Ürünler (irc-grid 4 sütun; az ürün varsa daralt) ---------- */
.irr-prod-grid{ align-items: stretch; }

/* ---------- Hizmet sayfası bloğu ---------- */
.irr-svc-block .irr-grid{ margin-top: 4px; }

/* ---------- Duyarlı ---------- */
@media (max-width: 991.98px){
  .irr-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .irr-hero-grid{ grid-template-columns: 1fr; }
  .irr-hero-media{ order: -1; aspect-ratio: 16 / 9; border-radius: 80px 80px 16px 16px; }
  .irr-layout{ grid-template-columns: 1fr; }
  .irr-aside{ position: static; }
  .irr-gallery, .irr-gallery--n3{ grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: clamp(130px, 30vw, 220px); }
  .irr-gallery--n1{ grid-template-columns: 1fr; grid-auto-rows: clamp(200px, 50vw, 420px); }
}
@media (max-width: 767.98px){
  .irr-stats{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .irr-stat:nth-child(3){ border-left: 0; }
  .irr-stat:nth-child(n+3){ border-top: 1px solid var(--ir-line); }
  .irr-filter-row{ flex-direction: column; align-items: flex-start; gap: 8px; }
  .irr-chips{ flex-wrap: nowrap; overflow-x: auto; max-width: 100%; padding-bottom: 4px; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
  .irr-lb{ grid-template-columns: 44px minmax(0, 1fr) 44px; padding: 4px; }
  .irr-lb button{ width: 40px; height: 40px; }
}
@media (max-width: 575.98px){
  .irr-grid{ grid-template-columns: 1fr; }
  .irr-facts{ grid-template-columns: 1fr; }
  .irr-step{ grid-template-columns: 1fr; gap: 10px; }
  .irr-logos-list{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .irr-gallery li:first-child{ grid-column: span 2; grid-row: span 1; }
  .irr-gallery--n1 li:first-child{ grid-column: auto; }
  .irr-gallery--n2{ grid-template-columns: 1fr; }
  .irr-gallery--n2 li:first-child{ grid-column: auto; }
}
@media (prefers-reduced-motion: reduce){
  .irr-card, .irr-card-media img, .irr-gal-item img{ transition: none; }
  .irr-card:hover{ transform: none; }
}
