/* =========================================================
   İDOL KAPI SİSTEMLERİ — Tema
   Saf CSS. Framework yok.
   ========================================================= */

:root{
  /* ---------- MARKA PALETİ (müşteri, 14.09.2026) ---------- */
  --concrete:#c5baaa;   /* CONCRETE     — sıcak açık bej */
  --craft:#806d61;      /* CRAFT        — sıcak kahve/taupe */
  --brick:#ee7828;      /* BRIGHT BRICK — ana vurgu */
  --graphite:#2c2c2c;   /* GRAPHITE     — koyu zemin ve başlık */

  /* ---------- Paletten türetilenler ---------- */
  --graphite-2:#3d3a37; /* koyu degrade ikinci durak */
  --graphite-3:#1c1b1a; /* en koyu durak */
  --brick-d:#d2631a;    /* brick hover */
  --brick-l:#fcefe4;    /* brick açık zemin (pill) */
  --brick-soft:#f6b183; /* koyu zemin üstünde brick */
  --craft-l:#a2938a;    /* soluk metin */
  --craft-on-dark:#d9d0c6;
  --concrete-line:#e4dcd2;
  --concrete-bg:#f6f2ec;

  /* ---------- Eski jeton adları (geriye uyum) ----------
     Şablonlar ve alt bloklar bu adları kullanıyor; paleti değiştirmek için
     yalnız YUKARIDAKİ dört marka rengini güncellemek yeterli. */
  --navy:var(--graphite);
  --navy-2:var(--graphite-2);
  --orange:var(--brick);
  --orange-d:var(--brick-d);
  --orange-l:var(--brick-l);
  --gray:var(--craft);
  --gray-l:var(--craft-l);
  --line:var(--concrete-line);
  --bg:#ffffff;
  --gray-bg:var(--concrete-bg);

  /* Semantik — palet dışı, bilinçli korundu */
  --green:#16a34a;      /* "canlı/uygun" göstergesi */

  --r:12px;
  --ease:cubic-bezier(.4,0,.2,1);
  --sh:0 6px 22px rgba(44,44,44,.08);
  --sh-h:0 16px 40px rgba(44,44,44,.16);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--navy);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
p{margin:0 0 1em}
h1,h2,h3,h4{font-family:'Poppins',sans-serif;margin:0 0 .45em;line-height:1.14;font-weight:800;letter-spacing:-.025em}
h1{font-size:clamp(2rem,4.4vw,3.3rem)}
h2{font-size:clamp(1.6rem,3vw,2.35rem)}
h3{font-size:1.2rem}
h4{font-size:1.05rem;font-weight:700}
button{font-family:inherit}

.wrap{width:min(1220px,93%);margin-inline:auto}
.wrap--narrow{width:min(820px,93%)}

/* ---------- Butonlar ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.95rem 1.7rem;border-radius:10px;border:1.5px solid transparent;
  font-weight:700;font-size:.95rem;cursor:pointer;
  transition:background .25s var(--ease),color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease);
}
.btn:hover{transform:translateY(-2px)}
.btn--orange{background:var(--orange);color:#fff;box-shadow:0 6px 18px rgba(238,120,40,.32)}
.btn--orange:hover{background:var(--orange-d);box-shadow:0 12px 28px rgba(238,120,40,.4)}
.btn--ghost{background:var(--gray-bg);color:var(--gray);border-color:var(--line)}
.btn--ghost:hover{background:#fff;color:var(--navy);border-color:var(--gray-l)}
.btn--line{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.btn--line:hover{background:#fff;color:var(--navy);border-color:#fff}
.btn--white{background:#fff;color:var(--navy)}
.btn--white:hover{background:var(--gray-bg)}
.btn--sm{padding:.62rem 1.15rem;font-size:.87rem}
.btn--full{width:100%}

.pill{
  display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:#f6b183;background:rgba(238,120,40,.16);padding:.32rem .75rem;border-radius:6px;margin-bottom:.9rem;
}
.pill--dark{color:var(--orange-d);background:var(--orange-l)}
.lead{color:var(--gray);max-width:60ch}

/* ---------- Duyuru bandı ---------- */
.alert{background:var(--navy);color:#d9d0c6;font-size:.85rem}
.alert__in{display:flex;align-items:center;gap:1rem;justify-content:space-between;padding:.55rem 0;flex-wrap:wrap}
.alert p{margin:0}
.alert b{color:#fff}
.alert__slogan{color:#fff;font-weight:600;letter-spacing:.01em}
.alert__links{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}
.alert__links a{display:inline-flex;align-items:center;gap:.42rem;color:#fff;font-weight:600;transition:color .2s var(--ease)}
.alert__links a i{font-size:15px;flex:0 0 auto;color:var(--brick)}
.alert__links a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}

/* ---------- Header ---------- */
.hdr{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--line);transition:box-shadow .3s var(--ease)}
.hdr.is-stuck{box-shadow:0 4px 20px rgba(44,44,44,.08)}
/* 2024 logosu yatay (900x644 ≈ 1.4:1); 44 px yükseklikte yalnız 61 px genişliyor
   ve "KAPI SİSTEMLERİ" satırı okunmuyordu. Logo 60 px'e çıkarıldı, header bandı
   da 84 px'e — 74 px'te logo üst/alt kenara yapışıyordu. */
.hdr__in{display:flex;align-items:center;gap:1.4rem;height:84px}
.logo{display:block;margin-right:auto;line-height:0}
.logo img{height:60px;width:auto;object-fit:contain}
.logo--light{margin:0}
.logo--light img{height:72px}

.nav{display:flex;gap:.15rem}
.nav a{
  padding:.5rem .8rem;border-radius:8px;font-weight:600;font-size:.92rem;color:var(--gray);
  transition:color .2s var(--ease),background .2s var(--ease);
}
.nav a:hover,.nav a.active{color:var(--navy);background:var(--gray-bg)}

.hdr__act{display:flex;align-items:center;gap:1rem}
.hdr__tel{display:flex;align-items:center;gap:.45rem;font-weight:700;font-size:.92rem}
.hdr__tel i{font-size:16px;color:var(--orange)}
.hdr__tel:hover{color:var(--orange-d)}

/* Çekmeceye ait parçalar masaüstünde hiç görünmez; markup ortak. */
.navmask,.nav__head,.nav__foot{display:none}

.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:.5rem;cursor:pointer}
.burger span{width:22px;height:2px;background:var(--navy);transition:transform .3s var(--ease),opacity .2s}
.burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.is-open span:nth-child(2){opacity:0}
.burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- Hero ---------- */
.hero{
  background:
    radial-gradient(900px 480px at 12% 10%,rgba(238,120,40,.1),transparent 60%),
    linear-gradient(180deg,var(--gray-bg) 0%,#fff 100%);
  border-bottom:1px solid var(--line);
}
.hero__in{display:grid;grid-template-columns:1.12fr .88fr;gap:3.2rem;align-items:start;padding:3.6rem 0 4.4rem}
.hero__txt .pill{color:var(--orange-d);background:var(--orange-l)}
.hero h1 .u{position:relative;display:inline-block;color:var(--orange)}
.hero h1 .u::after{
  content:"";position:absolute;left:0;right:0;bottom:.05em;height:.16em;background:rgba(238,120,40,.22);border-radius:3px;
  transform:scaleX(0);transform-origin:left;animation:underline .9s var(--ease) .5s forwards;
}
@keyframes underline{to{transform:scaleX(1)}}
.hero__txt>p{color:var(--gray);font-size:1.05rem;max-width:54ch}

.ticks{display:grid;gap:.55rem;margin:1.6rem 0 2rem}
.ticks li{position:relative;padding-left:1.8rem;font-size:.95rem;font-weight:500}
.ticks li::before{
  content:"";position:absolute;left:0;top:.42em;width:1.1rem;height:1.1rem;border-radius:50%;
  background:var(--green);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20 6 9 17l-5-5' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/78% no-repeat,
        radial-gradient(circle,#000 99%,#000);
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20 6 9 17l-5-5' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/78% no-repeat;
}
.hero__proof{display:flex;gap:2rem;flex-wrap:wrap;padding-top:1.5rem;border-top:1px solid var(--line)}
.hero__proof div{display:flex;flex-direction:column;position:relative;padding-left:1rem}
.hero__proof div::before{
  content:"";position:absolute;left:0;top:.5rem;width:6px;height:6px;border-radius:50%;background:var(--orange);
}
.hero__proof b{font-family:'Poppins';font-size:1.05rem;line-height:1.3;color:var(--navy)}
.hero__proof span{font-size:.85rem;color:var(--gray-l);font-weight:500}

/* ---------- Hızlı teklif kutusu ---------- */
.quick{
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.8rem;
  box-shadow:var(--sh-h);position:sticky;top:96px;
}
.quick__head h3{margin-bottom:.2rem}
.quick__head p{color:var(--gray-l);font-size:.9rem;margin-bottom:1.2rem}
.steps{display:flex;gap:.4rem;margin-bottom:1.2rem}
.steps .dot{flex:1;height:4px;border-radius:2px;background:var(--line);transition:background .35s var(--ease)}
.steps .dot.is-on{background:var(--orange)}

.qstep{display:none}
.qstep.is-on{display:block;animation:slideIn .35s var(--ease) both}
@keyframes slideIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.qstep>label{display:block;font-size:.82rem;font-weight:700;color:var(--navy);margin-bottom:.6rem}
.qstep input[type="text"],.qstep input[type="tel"],.qstep textarea{
  width:100%;padding:.8rem .95rem;margin-bottom:1rem;border:1.5px solid var(--line);border-radius:10px;
  font:inherit;font-size:.94rem;background:var(--gray-bg);color:var(--navy);
  transition:border-color .25s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease);
}
.qstep textarea{resize:vertical}
.qstep input:focus,.qstep textarea:focus{outline:0;border-color:var(--orange);background:#fff;box-shadow:0 0 0 4px rgba(238,120,40,.14)}

.opts{display:grid;gap:.5rem;margin-bottom:1.2rem}
.opt{
  position:relative;display:block;padding:.75rem 1rem .75rem 2.6rem;border:1.5px solid var(--line);
  border-radius:10px;font-size:.92rem;font-weight:600;cursor:pointer;
  transition:border-color .2s var(--ease),background .2s var(--ease);
}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt::before{
  content:"";position:absolute;left:.95rem;top:50%;transform:translateY(-50%);
  width:16px;height:16px;border-radius:50%;border:2px solid var(--line);transition:all .2s var(--ease);
}
.opt:hover{border-color:var(--gray-l)}
/* Seçili durum: .is-sel JS ile eklenir, :has() destekleyen tarayıcılarda da çalışır */
.opt.is-sel,.opt:has(input:checked){border-color:var(--orange);background:var(--orange-l)}
.opt.is-sel::before,.opt:has(input:checked)::before{border-color:var(--orange);background:var(--orange);box-shadow:inset 0 0 0 3px #fff}
.qrow{display:flex;gap:.6rem}
.qrow .btn{flex:1}
.quick__note{margin:.8rem 0 0;font-size:.85rem;font-weight:600;color:var(--green);min-height:1.2em}
.quick__note.is-err{color:#dc2626}
.quick__alt{
  margin-top:1.2rem;padding-top:1.1rem;border-top:1px dashed var(--line);
  display:flex;flex-direction:column;gap:.2rem;font-size:.86rem;color:var(--gray-l);
}
.quick__alt a{color:var(--green);font-weight:700}
.quick__alt a:hover{color:#0f7a37}

/* ---------- Güven şeridi ---------- */
.trust{background:var(--navy);padding:1.6rem 0}
.trust__in{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap;justify-content:center}
.trust__label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gray-l);font-weight:700}
.trust__items{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:center}
.tbadge{
  border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:.45rem 1rem;
  font-size:.82rem;font-weight:600;color:#d9d0c6;
  transition:border-color .25s var(--ease),color .25s var(--ease);
}
.tbadge:hover{border-color:var(--orange);color:#fff}

/* ---------- Bölümler ---------- */
.sec{padding:5rem 0}
.sec--gray{background:var(--gray-bg)}
.sec__head{max-width:680px;margin-bottom:3rem}
.sec__head--c{margin-inline:auto;text-align:center}
.sec__head--c .lead{margin-inline:auto}

/* ---------- Nasıl çalışır ---------- */
.how{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.how__it{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:2rem 1.8rem;text-align:center;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);
}
.how__it:hover{transform:translateY(-5px);box-shadow:var(--sh);border-color:var(--orange)}
.how__n{
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;margin:0 auto .9rem;
  background:var(--orange-l);color:var(--orange-d);font-family:'Poppins';font-weight:800;font-size:1.2rem;
}
.how__it p{color:var(--gray);font-size:.93rem;margin:0}

/* ---------- Ürün kartları ---------- */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}
.pcard{
  position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.pcard:hover{transform:translateY(-5px);box-shadow:var(--sh-h)}
/* `.pcard--hot` ve `.ribbon` kuralları 15.09.2026'da kaldırıldı: besleyen
   `one-cikan` / `rozet-metni` alanları panelden silindi, kartlar eşit görünüyor. */
.pcard__vis{aspect-ratio:16/10;position:relative;overflow:hidden;background:var(--gray-bg)}
.pcard__vis img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.pcard:hover .pcard__vis img{transform:scale(1.05)}
.pcard__body{padding:1.4rem;display:flex;flex-direction:column;flex:1}
.pcard__body>p{color:var(--gray);font-size:.92rem}
.kv{display:grid;gap:.35rem;margin:.3rem 0 1.2rem}
.kv li{display:flex;justify-content:space-between;gap:.6rem;font-size:.86rem;border-bottom:1px dashed var(--line);padding-bottom:.35rem}
.kv span{color:var(--gray-l)}
.kv b{font-weight:600}
.pcard__body .btn{margin-top:auto}

/* ---------- Galeri ---------- */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.gal__it{display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--gray-bg)}
.gal__it img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.gal__it:hover img{transform:scale(1.07)}
.galcta{margin-top:2rem;display:flex;justify-content:center;flex-wrap:wrap;gap:.9rem}

/* ---------- Rakamlar + tedarik zinciri haritası ----------
   Anasayfada ürün kartlarından SONRA gelir. Zemin yok (müşteri kararı,
   16.09.2026): üstündeki ürünler bölümü krem, bu bölüm sayfanın beyazında
   kalıyor. Solda harita, sağda başlık + rakam kartları. */
.stats{padding:5rem 0}
/* Bölümün tek ortak etiketi — iki sütunun ortasında, başlıkların üstünde. */
.stats__head{text-align:center;margin-bottom:1.6rem}
.stats__in{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
/* Harita görseli henüz yüklenmediyse kartlar tam genişliğe yayılır. */
.stats__in--tek{grid-template-columns:1fr;max-width:920px;margin-inline:auto;text-align:center}
.stats__in--tek p{margin-inline:auto}
.stats h2{margin-bottom:.7rem}
.stats p{color:var(--gray);max-width:52ch}
.stats__map img{width:100%;height:auto;display:block;margin-top:1.6rem}

.stats__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.8rem}
.stat{
  background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:1.1rem .7rem;text-align:center;
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease);
}
.stat:hover{border-color:var(--orange);box-shadow:0 10px 24px rgba(44,44,44,.08)}
.stat__num{
  /* `isolation` şart: turuncu vurgu ::after ile ve z-index:-1 ile basılıyor.
     İzole edilmezse kartın beyaz zemininin ARKASINA düşer ve görünmez. */
  position:relative;isolation:isolate;display:inline-block;
  font-weight:700;line-height:1;font-size:clamp(1.3rem,2.1vw,1.75rem);
  color:var(--navy);white-space:nowrap;
}
.stat__num::after{
  content:"";position:absolute;left:-.08em;right:-.08em;bottom:-.04em;height:.4em;
  background:var(--orange);border-radius:999px;z-index:-1;opacity:.85;
}
.stat__lb{
  display:block;margin-top:.6rem;font-size:.64rem;font-weight:700;
  letter-spacing:.11em;text-transform:uppercase;color:var(--gray);
}

/* ---------- Bayi ağı ---------- */
.net{background:var(--navy);color:#fff;padding:5rem 0}
.net__in{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.net__txt h2{color:#fff}
.net__txt p{color:#bcaea2;max-width:50ch}
.net__btns{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}

.mapcard{background:var(--navy-2);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.4rem}
.mapcard__grid{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#1c1b1a}
.mapcard__grid img{width:100%;height:100%;object-fit:cover;opacity:.5}
.mapcard__grid::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(44,44,44,.65),rgba(238,120,40,.18));
}
.pin{
  position:absolute;z-index:2;left:var(--x);top:var(--y);width:12px;height:12px;border-radius:50%;
  background:var(--orange);transform:translate(-50%,-50%);
}
.pin::after{
  content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--orange);
  animation:ping 2.6s var(--ease) infinite;
}
.pin:nth-child(2)::after{animation-delay:.4s}
.pin:nth-child(3)::after{animation-delay:.8s}
.pin:nth-child(4)::after{animation-delay:1.2s}
.pin:nth-child(6)::after{animation-delay:1.6s}
.pin:nth-child(7)::after{animation-delay:2s}
.pin--hq{width:18px;height:18px;background:#fff;box-shadow:0 0 0 4px rgba(238,120,40,.4)}
@keyframes ping{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.2);opacity:0}}
.mapcard__foot{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.2rem;text-align:center}
.mapcard__foot b{display:block;font-family:'Poppins';font-size:1.5rem;color:var(--orange)}
.mapcard__foot span{font-size:.78rem;color:#9c8e85}

/* ---------- Yorumlar ---------- */
.revs{position:relative;max-width:820px;margin:0 auto;min-height:190px}
.rev{
  position:absolute;inset:0;text-align:center;
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity .5s var(--ease),transform .5s var(--ease),visibility .5s;
}
.rev.is-on{opacity:1;visibility:visible;transform:none;position:relative}
.rev p{font-size:clamp(1.05rem,2vw,1.3rem);font-weight:500;color:var(--navy);max-width:60ch;margin:0 auto 1.2rem}
.rev footer b{display:block;font-size:.95rem}
.rev footer span{font-size:.84rem;color:var(--gray-l)}
.revs__nav{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.6rem}
.rbtn{
  width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);background:#fff;
  color:var(--navy);font-size:1.4rem;line-height:0;cursor:pointer;
  transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);
}
.rbtn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.revs__dots{display:flex;gap:.4rem}
.revs__dots button{
  width:8px;height:8px;border-radius:50%;border:0;background:var(--line);cursor:pointer;padding:0;
  transition:background .25s var(--ease),width .25s var(--ease);
}
.revs__dots button.is-on{background:var(--orange);width:22px;border-radius:4px}

/* ---------- Akordiyon ---------- */
.acc{display:grid;gap:.6rem}
.acc__it{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:border-color .3s var(--ease)}
.acc__it.is-open{border-color:var(--orange)}
.acc__q{
  width:100%;text-align:left;background:none;border:0;cursor:pointer;position:relative;
  padding:1.1rem 3rem 1.1rem 1.3rem;font:inherit;font-weight:700;font-size:.98rem;color:var(--navy);
}
.acc__q::before,.acc__q::after{content:"";position:absolute;right:1.3rem;top:50%;background:var(--orange);transition:transform .3s var(--ease)}
.acc__q::before{width:13px;height:2px;transform:translateY(-50%)}
.acc__q::after{width:2px;height:13px;right:1.65rem;transform:translateY(-50%)}
.acc__it.is-open .acc__q::after{transform:translateY(-50%) rotate(90deg)}
.acc__a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.acc__a p{padding:0 1.3rem 1.2rem;margin:0;color:var(--gray);font-size:.93rem}
.acc__a ul,.acc__a ol{padding:0 1.3rem 1.2rem 2.6rem;margin:0;color:var(--gray);font-size:.93rem;list-style:disc}
.acc__a ol{list-style:decimal}
.acc__a li::marker{color:var(--orange)}
.acc__a li + li{margin-top:.35rem}

/* ---------- Son CTA ---------- */
.final{
  background:linear-gradient(120deg,var(--orange) 0%,#f3924d 55%,var(--orange-d) 100%);
  color:#fff;padding:4rem 0;
}
.final__in{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
.final h2{color:#fff;margin:0}
.final__btns{display:flex;gap:.8rem;flex-wrap:wrap}
.final .btn--orange{background:var(--navy);box-shadow:none}
.final .btn--orange:hover{background:#141313}

/* ---------- Footer ---------- */
/* Footer BRICK zeminli, metin beyaz (15.09.2026 müşteri kararı).
   Kontrast notu: #fff üzerine #ee7828 = 2.9:1, WCAG AA'nın (4.5:1) altında.
   Okunurluğu toparlamak için gövde metni 0.95 opaklıkta ve .9rem'den küçük
   düşürülmüyor; başlıklar tam beyaz. */
.ftr{background:var(--brick);color:rgba(255,255,255,.95);padding-top:3.6rem}
/* Beş kolon (18.09.2026): marka + iki menü kolonu + Ürünler + İletişim.
   Menüler panele taşınınca `$isHome`'a göre "Kurumsal" ya da "Menü"
   kolonlarından birini basma kuralı kalktı — ikisi de her sayfada var. */
.ftr__top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.2fr;gap:2.2rem;padding-bottom:2.6rem}
.ftr__col h5{color:#fff;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:1rem}
/* width:fit-content — alt çizgi bloğun tamamını değil, metnin boyunu kaplasın. */
.ftr__col a{
  display:block;width:fit-content;position:relative;font-size:.9rem;padding:.2rem 0;
  color:rgba(255,255,255,.95);
  transition:color .2s var(--ease),transform .2s var(--ease),text-shadow .2s var(--ease);
}
.ftr__col a::after{
  content:"";position:absolute;left:0;bottom:.08rem;width:100%;height:1.5px;
  background:currentColor;transform:scaleX(0);transform-origin:left;
  transition:transform .28s var(--ease);
}
/* Hover'da kalınlaşma text-shadow ile taklit ediliyor: gerçek font-weight
   değişimi metni genişletip komşu satırları oynatırdı. */
.ftr__col a:hover{color:#fff;transform:translateX(3px);text-shadow:0 0 .55px currentColor,0 0 .55px currentColor}
.ftr__col a:hover::after{transform:scaleX(1)}
@media (prefers-reduced-motion:reduce){
  .ftr__col a,.ftr__col a::after{transition:none}
  .ftr__col a:hover{transform:none}
}
/* Kalan tek `p` iletişim sütunundaki adres. Marka sütunundaki kısa açıklama
   15.09.2026'da kaldırıldı; logo ile sosyal şerit arasını `.social` boşluğu tutar. */
.ftr__col p{font-size:.9rem}
.social{display:flex;gap:.5rem;margin-top:1.1rem}
.social a{
  width:34px;height:34px;border-radius:8px;display:grid !important;place-items:center;
  background:rgba(255,255,255,.18);font-size:.74rem;font-weight:700;color:#fff;
  transition:background .25s var(--ease),color .25s var(--ease),transform .25s var(--ease);
}
/* Turuncu zeminde turuncu hover görünmezdi; koyu zemin + beyaz ikon. */
.social a:hover{background:var(--graphite);color:#fff;transform:translateY(-3px)}
.ftr__bot{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.22);padding:1.2rem 0;font-size:.82rem}

/* ---------- Mobil sabit çubuk ----------
   ateklift projesindeki çubuğun idol paletine uyarlanmış hâli: buzlu cam zemin,
   üstte kalın marka çizgisi, yuvarlatılmış üst köşeler ve ortada yukarı çıkıntılı
   "Hemen Ara" düğmesi. ateklift'te vurgu sarı + zemin siyahtı; burada vurgu
   BRICK (--orange), yazı GRAPHITE.

   960px sınırı: tablet dikeyde de üst menü daralıyor, çubuk orada da işe yarıyor. */
.mbar{display:none}
@media (max-width:960px){
  .mbar{
    display:flex;align-items:flex-end;justify-content:space-between;
    position:fixed;left:0;right:0;bottom:0;z-index:95;
    padding:0 .4rem calc(.45rem + env(safe-area-inset-bottom,0px));
    background:rgba(255,255,255,.82);
    -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
    border-top:5px solid var(--orange);
    border-top-left-radius:1.9rem;border-top-right-radius:1.9rem;
    box-shadow:0 -6px 26px rgba(44,44,44,.16);
  }
  /* backdrop-filter desteklemeyen tarayıcıda saydam zemin metni okunmaz yapar. */
  @supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
    .mbar{background:#fff}
  }

  .mbar__it{
    flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;
    gap:.15rem;padding:.5rem .1rem .15rem;color:var(--graphite);
  }
  .mbar__ic{display:grid;place-items:center;height:30px}
  .mbar__ic i{font-size:20px}
  .mbar__tx{font-size:.68rem;font-weight:600;letter-spacing:.01em;text-align:center;
            white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .mbar__it[aria-current="page"]{color:var(--orange)}

  /* Ortadaki çağrı düğmesi. Yukarı taşma `transform` ile DEĞİL, ikon kutusunun
     negatif üst boşluğuyla yapılır: kutu 50px ama düzende 30px yer kaplar
     (50 − 20), yani diğer sekmelerle aynı — çubuğun yüksekliğini büyütmez ve
     etiket kendiliğinden aynı hizada kalır.
     Eski `translateY(-1.35rem)` çözümü öğeyi 86.7px yapıp çubuğu 98.9px'e
     şişiriyordu (ölçüldü); ekranın alt dörtte biri çubuğa gidiyordu. */
  .mbar__it--up .mbar__ic{
    position:relative;width:50px;height:50px;margin-top:-20px;border-radius:50%;
    background:var(--graphite);color:var(--orange);
    /* Beyaz kenar: daire çubuğun üstüne taştığı için altındaki sayfa metninden
       ayrılması gerekiyor. */
    border:3px solid #fff;
    box-shadow:0 6px 16px rgba(44,44,44,.26);
  }
  .mbar__it--up .mbar__ic i{font-size:21px}
  /* Tek ince halka yeter: ateklift'teki ikinci (dış) halka burada çubuğun
     19.6px üstüne taşıp sayfa metninin üzerine biniyordu. */
  .mbar__it--up .mbar__ic::before{
    content:"";position:absolute;inset:-5px;border-radius:50%;
    border:1px solid var(--orange);opacity:.55;
  }

  /* Çubuk `fixed`: içerik altında kalmasın diye sayfaya alt boşluk eklenir.
     Çubuk ≈73px; çıkıntılı daire yukarı taşıyor, aşağıya taşmıyor. */
  body{padding-bottom:78px}
}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.reveal.is-in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition-duration:.01ms !important}
  .reveal{opacity:1;transform:none}
  .hero h1 .u::after{transform:scaleX(1)}
}

/* ---------- Responsive ---------- */
@media (max-width:1040px){
  .hero__in{grid-template-columns:1fr;gap:2.4rem}
  .quick{position:static}
  .how{grid-template-columns:1fr 1fr}
  .gal{grid-template-columns:1fr 1fr}
  .net__in{grid-template-columns:1fr;gap:2.4rem}
  .stats__in{grid-template-columns:1fr;gap:2.6rem}
  .ftr__top{grid-template-columns:1fr 1fr}
  .hdr__tel{display:none}
}
@media (max-width:760px){
  .burger{display:flex}
  .hdr__act{display:none}

  /* ---------- Mobil menü: soldan açılan çekmece ----------
     Öncesinde header'ın altına açılan bir `max-height` paneliydi. Ölçümde
     (390x844) panelin içeriği 743px, sınırı 674px çıkıyordu: alt menü
     akordiyonu açılınca son satırlar kesiliyor, kalanı da mobil sabit çubuğun
     (.mbar, 73px) arkasında kalıyordu. Tam boy çekmecede bu sınır yok. */
  .navmask{
    display:block;position:fixed;inset:0;z-index:100;
    background:rgba(28,27,26,.55);
    opacity:0;visibility:hidden;
    transition:opacity .3s var(--ease),visibility .3s var(--ease);
  }
  .navmask.is-open{opacity:1;visibility:visible}

  .nav{
    position:fixed;top:0;left:0;bottom:0;right:auto;
    width:min(340px,86vw);max-height:none;
    display:flex;flex-direction:column;align-items:stretch;gap:0;
    padding:0;background:#fff;border:0;border-radius:0;
    box-shadow:0 0 44px rgba(28,27,26,.3);
    overflow-y:auto;overscroll-behavior:contain;
    /* `visibility` da geçişe dahil: kapalıyken ekran dışındaki panelin
       bağlantıları klavye sekmesine takılmasın. */
    transform:translateX(-100%);visibility:hidden;
    transition:transform .34s var(--ease),visibility .34s var(--ease);
    z-index:110;
  }
  .nav.is-open{transform:none;visibility:visible}
  /* Çekmece açıkken arka plan kaymasın (nav.js ekler/kaldırır). */
  body.nav-lock{overflow:hidden}
  /* Çekmece ve karartma `.hdr`'ın İÇİNDE; header `z-index:60` ile kendi yığın
     bağlamını kuruyor, dolayısıyla paneldeki 110 dışarıda 60 sayılıyordu ve
     mobil sabit çubuk (.mbar, z-index 95) çekmecenin üstünde kalıyordu.
     Menü açıkken header'ı yukarı alıyoruz; karartma da çubuğu kapatıyor. */
  body.nav-lock .hdr{z-index:130}
  /* Çekmece açıkken burger da X'e dönüşüyor ve panelin kendi kapat düğmesiyle
     birlikte ekranda İKİ çarpı görünüyordu. Açıkken burger gizlenir; kapatma
     tek yerden (panel başlığındaki düğme, karartma, Escape) yapılır. */
  body.nav-lock .burger{opacity:0;pointer-events:none}

  /* Çekmece başlığı — panel kaydırılırken üstte kalır */
  .nav__head{
    display:flex;align-items:center;justify-content:space-between;gap:1rem;
    position:sticky;top:0;z-index:2;background:#fff;
    padding:.85rem 1.05rem;border-bottom:1px solid var(--line);
  }
  .nav__logo{height:44px;width:auto;object-fit:contain}
  /* Dokunma hedefleri 44px'in altına düşmemeli (WCAG 2.5.8). */
  .nav .nav__close{
    flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;
    padding:0;border:0;border-radius:50%;background:var(--gray-bg);
    color:var(--navy);font-size:18px;line-height:1;cursor:pointer;
    transition:background .2s var(--ease),color .2s var(--ease);
  }
  .nav .nav__close:hover,.nav .nav__close:focus-visible{background:var(--orange);color:#fff}

  /* Bağlantı satırları: solda turuncu işaret, aktif sayfada dolu */
  .nav>a,.nav .nav__top{
    position:relative;display:flex;align-items:center;justify-content:space-between;
    padding:.95rem 1.05rem;border-radius:0;border-bottom:1px solid var(--line);
    font-size:1rem;color:var(--navy);background:none;
  }
  .nav>a::before,.nav .nav__top::before{
    content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
    width:3px;height:0;background:var(--orange);
    transition:height .25s var(--ease);
  }
  .nav>a.active::before,.nav .nav__top.active::before{height:58%}
  .nav>a.active,.nav .nav__top.active{color:var(--orange);background:var(--orange-l)}
  .nav>a:hover,.nav .nav__top:hover{background:var(--gray-bg);color:var(--navy)}
  .nav .caret{font-size:12px;color:var(--gray-l)}

  /* Satırlar çekmece açılırken sırayla belirir */
  .nav.is-open>a,.nav.is-open>.nav__item{animation:navRowIn .32s var(--ease) both}
  .nav.is-open>*:nth-child(2){animation-delay:.04s}
  .nav.is-open>*:nth-child(3){animation-delay:.08s}
  .nav.is-open>*:nth-child(4){animation-delay:.12s}
  .nav.is-open>*:nth-child(5){animation-delay:.16s}
  .nav.is-open>*:nth-child(6){animation-delay:.2s}

  /* ---------- Çekmece altı: iletişim + katalog + sosyal ---------- */
  .nav .nav__foot{
    display:grid;gap:.7rem;margin-top:auto;
    padding:1.05rem 1.05rem calc(1.05rem + env(safe-area-inset-bottom,0px));
    background:var(--gray-bg);border-top:1px solid var(--line);
  }
  .nav .nav__cta{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
  .nav .nav__btn{
    display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:46px;
    padding:.72rem .5rem;border:1px solid transparent;border-radius:10px;
    font-weight:700;font-size:.86rem;line-height:1.2;text-align:center;
    transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);
  }
  .nav .nav__btn i{font-size:15px}
  .nav .nav__btn--ghost{background:#fff;border-color:var(--line);color:var(--navy)}
  .nav .nav__btn--ghost:hover{border-color:var(--orange);color:var(--orange)}
  .nav .nav__btn--wa{background:#25d366;color:#fff}
  .nav .nav__btn--wa:hover{background:#1db954;color:#fff}
  .nav .nav__btn--pri{background:var(--orange);color:#fff;font-size:.92rem;padding:.8rem}
  .nav .nav__btn--pri:hover{background:var(--orange-d);color:#fff}

  .nav .nav__line{
    display:flex;align-items:center;gap:.55rem;min-height:44px;
    padding:.2rem 0;border:0;border-radius:0;
    font-size:.84rem;font-weight:600;color:var(--gray);
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  }
  .nav .nav__line i{flex:0 0 18px;text-align:center;color:var(--orange);font-size:14px}
  .nav .nav__line:hover{background:none;color:var(--orange)}

  .nav .nav__soc{display:flex;gap:.5rem;padding-top:.15rem}
  .nav .nav__soc a{
    width:44px;height:44px;display:grid;place-items:center;padding:0;
    border:1px solid var(--line);border-radius:50%;background:#fff;
    color:var(--navy);font-size:15px;
  }
  .nav .nav__soc a:hover{background:var(--orange);border-color:var(--orange);color:#fff}
  .sec,.net,.stats{padding:3.4rem 0}
  /* Altı kart dar ekranda üç sütuna sığmıyor: "Adet Yıllık Üretim" gibi uzun
     etiketler üç satıra bölünüp kartların yüksekliğini bozuyordu. */
  .stats__grid{grid-template-columns:1fr 1fr;gap:.8rem}
  .how,.gal{grid-template-columns:1fr}
  .logo img{height:46px}
  .hdr__in{height:72px}
  /* Üst bant mobilde hiç basılmaz (müşteri kararı, 15.09.2026): dar ekranda
     yalnız yer kaplıyordu. Taşıdığı iki bağlantı (e-posta + Online Katalog)
     çekmecenin alt bloğunda duruyor, erişim kaybı yok. */
  .alert{display:none}
  .final__in{flex-direction:column;text-align:center}
  .ftr__top{grid-template-columns:1fr}
  .ftr__bot{justify-content:center;text-align:center}
}

/* Çekmece satırlarının sırayla belirmesi */
@keyframes navRowIn{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .nav,.navmask{transition:none}
  .nav.is-open>a,.nav.is-open>.nav__item{animation:none}
}

/* Footer alt satırı — tasarım kredisi (link değil, düz metin) */
.ftr__bot a,.ftr__credit{color:#fff;font-weight:700;transition:color .2s var(--ease)}



/* SAYFA KİTİ BAŞLANGIÇ */

/* =========================================================
   SAYFA KİTİ — iç sayfa bileşenleri (çok sayfalı yapı)
   ========================================================= */

/* ---------- Butonlar ---------- */
.btn--pri{background:#ee7828;color:#fff;border-color:#ee7828}
.btn--pri:hover{background:#d2631a;border-color:#d2631a;color:#fff}
.btn--sec{background:transparent;color:#2c2c2c;border-color:#e4dcd2}
.btn--sec:hover{background:#f6f2ec;border-color:#ee7828;color:#2c2c2c}
.btn--onDark{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.btn--onDark:hover{background:#fff;color:#2c2c2c;border-color:#fff}

/* ---------- Bölüm ---------- */
.ksec{padding:5rem 0}
.ksec--alt{background:#f6f2ec}
.kwrap{width:min(1220px,92%);margin-inline:auto}
.kwrap--narrow{width:min(840px,92%)}
.khead{max-width:720px;margin-bottom:2.8rem}
.khead--c{margin-inline:auto;text-align:center}
.keyebrow{
  display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:#d2631a;margin-bottom:.8rem;
}
.klead{color:#806d61;max-width:64ch}
.khead--c .klead{margin-inline:auto}
.klink{
  display:inline-flex;align-items:center;gap:.4rem;font-weight:700;font-size:.92rem;color:#d2631a;
}
.klink span{transition:transform .25s var(--ease)}
.klink:hover span{transform:translateX(5px)}
.kticks{display:grid;gap:.5rem;margin:1rem 0 1.4rem}
.kticks li,.kticks>span{display:block;position:relative;padding-left:1.5rem;font-size:.93rem;color:#806d61}
.kticks li::before,.kticks>span::before{
  content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;
  background:#ee7828;
}
/* ---------- Ürün kartı künyesi (etiket / değer) ----------
   Kaynak: Ürün Grupları → `ozellikler` smart tablosu. Etiket soluk ve solda,
   değer koyu ve sağda; ince ayraçlarla teknik künye hissi verir. Nokta işaretli
   `.kticks` rozetlerinin yerini aldı (15.09.2026 müşteri kararı). */
.pspec{display:grid;gap:0;margin:1.1rem 0 1.3rem}
/* Ayraç KESİK çizgi ve yalnız satırın ALTINDA — üstte çizgi yok; künye,
   açıklama metninden çizgiyle değil boşlukla ayrılır. */
.pspec__row{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding:.55rem 0;border-bottom:1px dashed var(--line);
}
.pspec__k{flex:0 0 auto;font-size:.85rem;color:var(--gray-l)}
/* Uzun değer sarabilsin; etiket sabit kalır. */
.pspec__v{flex:1 1 auto;min-width:0;text-align:right;font-size:.9rem;font-weight:700;color:var(--navy)}

.kprose p{color:#806d61;font-size:1rem;margin-bottom:1.1rem}
.kprose p:last-child{margin-bottom:0}
.kprose h2{margin-top:2.2rem}
.kprose h2:first-child{margin-top:0}
/* Anasayfa Hakkımızda bölümünde h2 `first-child` DEĞİL — üstünde "HAKKIMIZDA"
   etiketi (`.pill`) var, bu yüzden 2.2rem'i alıyor ve etiketle başlık arası
   gereksiz açılıyordu. Etiketin kendi `margin-bottom:.9rem`'i zaten yeterli.
   Kural yalnız bu bölüme yazılır: `sections/seo-text.blade.php` da `.kprose`
   kullanıyor ama içine ham HTML basıyor — oradaki ardışık h2'ler boşluğa
   muhtaç. */
#hakkimizda .kprose h2{margin-top:0}

/* ---------- İç sayfalarda başlık çubuğunu normalle ---------- */
body.kpage .hdr{
  position:sticky;top:0;background:#fff;border-bottom:1px solid #e4dcd2;
  backdrop-filter:none;
}
body.kpage .hdr .logo img{opacity:1 !important;position:static}
body.kpage .nav>a,body.kpage .nav__top{color:#806d61}
body.kpage .nav>a:hover,body.kpage .nav>a.active,
body.kpage .nav__top:hover,body.kpage .nav__top.active{color:#2c2c2c}
body.kpage .burger span{background:#2c2c2c}
body.kpage .hdr__cta{border-color:#ee7828;background:#ee7828;color:#fff}
body.kpage .hdr__cta:hover{background:#d2631a;border-color:#d2631a;color:#fff}

/* ---------- Sayfa başlığı ---------- */
.phead{position:relative;overflow:hidden;color:#fff;padding:3.4rem 0 3.8rem;background:linear-gradient(120deg,#2c2c2c 0%,#3d3a37 55%,#1c1b1a 100%)}
.phead__bg{position:absolute;inset:0;z-index:0}
.phead__bg img{width:100%;height:100%;object-fit:cover;opacity:.3}
.phead__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(44,44,44,.94) 0%,rgba(44,44,44,.8) 55%,rgba(44,44,44,.55) 100%)}
.phead .kwrap{position:relative;z-index:2}
.phead h1{color:#fff;font-size:clamp(1.9rem,3.6vw,2.7rem);margin-bottom:.6rem}
.phead p{color:#bcaea2;max-width:68ch;margin:0}
.phead .keyebrow{color:#f6b183}
/* Başlık üstte, breadcrumb altta; ikisi de ortalı. DOM sırası da böyle, yani
   `order` hilesi yok — ekran okuyucu da aynı sırayı duyuyor. */
.phead__row{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.55rem}
.phead__row h1{margin-bottom:0;max-width:35ch}
.phead__row .crumb{margin-bottom:0;text-align:center}
.crumb{font-size:.84rem;color:#9c8e85;margin-bottom:1.3rem}
.crumb a:hover{color:#f6b183}
.crumb span{margin:0 .4rem;opacity:.6}

/* ---------- Mega menü ---------- */
.nav__item{position:relative}
.nav__item--mega{position:static}
.nav__top{display:inline-flex;align-items:center;gap:.35rem}
.caret{font-size:11px;flex:0 0 auto;transition:transform .3s var(--ease)}
.nav__item:hover .caret{transform:rotate(180deg)}

.sub{
  position:absolute;top:calc(100% + 10px);left:0;z-index:70;min-width:230px;
  background:#fff;border:1px solid #e4dcd2;border-radius:12px;padding:.5rem;
  box-shadow:0 18px 44px rgba(0,0,0,.14);
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s;
}
.sub::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.nav__item:hover .sub,.nav__item:focus-within .sub{opacity:1;visibility:visible;transform:translateY(0)}
.sub>a{
  display:block;padding:.65rem .85rem;border-radius:8px;font-size:.92rem;font-weight:600;color:#806d61;
  transition:background .2s var(--ease),color .2s var(--ease),padding-left .2s var(--ease);
}
.sub>a:hover,.sub>a.active{background:#f6f2ec;color:#2c2c2c;padding-left:1.1rem}

.mega{
  position:absolute;left:0;right:0;top:100%;z-index:65;background:#fff;
  border-top:1px solid #e4dcd2;border-bottom:1px solid #e4dcd2;
  box-shadow:0 24px 50px rgba(0,0,0,.13);
  opacity:0;visibility:hidden;transform:translateY(-10px);
  transition:opacity .28s var(--ease),transform .28s var(--ease),visibility .28s;
}
.nav__item--mega:hover .mega,.nav__item--mega:focus-within .mega{opacity:1;visibility:visible;transform:translateY(0)}
.mega__in{display:flex;justify-content:center;flex-wrap:wrap;gap:2.6rem;padding:1.8rem 0 2rem}
.mcard{display:block;width:160px;text-align:center;transition:transform .3s var(--ease)}
.mcard:hover{transform:translateY(-4px)}
.mcard__img{
  display:block;aspect-ratio:3/4;border-radius:8px;overflow:hidden;background:linear-gradient(180deg,var(--concrete-bg) 0%,var(--concrete) 100%);
  transition:box-shadow .25s var(--ease);
}
.mcard:hover .mcard__img{box-shadow:0 14px 34px rgba(0,0,0,.16)}
.mcard__img img{width:100%;height:100%;object-fit:contain;padding:.4rem;transition:transform .5s var(--ease)}
.mcard:hover .mcard__img img{transform:scale(1.04)}
.mcard b{
  display:block;margin-top:.75rem;font-size:.9rem;font-weight:700;color:#2c2c2c;line-height:1.35;
  transition:color .25s var(--ease);
}
.mcard:hover b{color:#d2631a}

/* ---------- Ürün satırları ----------
   İki sütun (15.09.2026, müşteri kararı). Kart yarı genişliğe düştüğü için
   görsel kolonu 260px'ten 220px'e, iç boşluk 2.5rem'den 1.8rem'e çekildi;
   eski değerlerle metin kolonu ~250px'e sıkışıp başlık her kartta kırılıyordu.
   1080px altında tek sütuna döner (aşağıdaki media query).

   FLEX, grid DEĞİL (18.09.2026): grup sayısı 4'ten 3'e inince ikinci satırda tek
   kart kaldı ve sol hücreye yapışıp sağını boş bıraktı. Grid'de
   `justify-content` ızgaranın TAMAMINI hizalar, satır içini değil — üstelik
   `1fr` sütunlar boş alan bırakmadığı için etkisizdir. Flex'te
   `justify-content:center` HER satırı ayrı ortalar.

   `.models` (model kartları) bunun TERSİDİR: orası sola yaslı. İki ızgara
   bilerek farklı davranıyor — biri değiştirilirken diğeri "tutarlılık" diye
   takip ettirilmemeli. */
.prows{display:flex;flex-wrap:wrap;justify-content:center;gap:1.6rem}
/* İki sütun; `gap` payı düşülmezse iki kart artı boşluk satıra sığmaz. */
.prows > .prow{flex:0 1 calc(50% - 0.8rem)}
.prow{
  display:grid;grid-template-columns:220px 1fr;gap:1.8rem;align-items:center;
  background:#fff;border:1px solid #e4dcd2;border-radius:16px;padding:1.6rem;
  transition:border-color .3s var(--ease),box-shadow .3s var(--ease),transform .3s var(--ease);
}
/* Hover kenarlığı BRICK'ten açık tona (--brick-soft) çekildi: dönen ışık izi
   tam BRICK olduğu için eşit renkli bir kenarlık üstünde ayırt edilemezdi. */
.prow:hover{border-color:var(--brick-soft);box-shadow:0 16px 40px rgba(0,0,0,.12);transform:translateY(-4px)}
.prow__vis{display:block;aspect-ratio:2/3;border-radius:12px;overflow:hidden;background:linear-gradient(180deg,var(--concrete-bg) 0%,var(--concrete) 100%)}
.prow__vis img{width:100%;height:100%;object-fit:contain;padding:1rem;transition:transform .6s var(--ease)}
.prow:hover .prow__vis img{transform:scale(1.04)}
.prow__no{display:block;font-size:.72rem;font-weight:800;letter-spacing:.2em;color:#d2631a;margin-bottom:.5rem}
.prow__txt h3{font-size:clamp(1.2rem,2vw,1.55rem);color:#2c2c2c;margin-bottom:.5rem}
.prow__txt>p{color:#806d61;max-width:62ch}
.prow__act{display:flex;flex-wrap:wrap;gap:.7rem}
/* Anasayfada kart ızgarasının altındaki "Tüm Ürünler" düğmesi. */
.prows__more{display:flex;justify-content:center;margin-top:2.4rem}

/* ---------- Model ızgarası ----------
   SOLA YASLI (18.09.2026, müşteri talebi): 5 kartlı grup sayfasında ikinci
   satırdaki tek kart, üstteki ilk kartın hizasında durur. 16.09'da bu satır
   ortalanıyordu (`justify-content:center`), talep tersine döndü.

   FLEX, grid DEĞİL: sabit `1fr` sütunlar kartları satırın tamamına yayar ve
   kart genişliği satırdaki kart sayısına göre oynardı. Flex'te genişliği
   `flex-basis` sabitler, artan alan sağda boş kalır. */
.models{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:1.3rem}

/* Dört sütun. `gap` payı düşülmezse dört kart artı üç boşluk satıra sığmaz ve
   ızgara sessizce üç sütuna iner: 3 boşluk / 4 kart = kart başına 0,75 gap. */
.models > .model{flex:0 1 calc(25% - 0.975rem)}
/* Kartın tamamı <a>; gövde ve görsel sarmalayıcı <span> olduğu için display
   değerleri elle veriliyor, metin rengi bağlantıdan miras alınmıyor. */
.model{
  background:#fff;border:1px solid #e4dcd2;border-radius:14px;overflow:hidden;
  display:flex;flex-direction:column;color:inherit;text-decoration:none;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);
}
.model:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,0,0,.12);border-color:var(--brick-soft)}
.model__img{display:block;aspect-ratio:2/3;overflow:hidden;background:linear-gradient(180deg,var(--concrete-bg) 0%,var(--concrete) 100%)}
.model__img img{width:100%;height:100%;object-fit:contain;padding:.8rem;transition:transform .6s var(--ease)}
.model:hover .model__img img{transform:scale(1.04)}
.model__body{padding:1.1rem 1.2rem 1.2rem;display:flex;flex-direction:column;flex:1}
.model__body h3{display:block}
.model__body h3{font-size:1.05rem;margin-bottom:.3rem;color:#2c2c2c}
.model__body p{color:#806d61;font-size:.88rem;margin-bottom:.9rem}
.model__body .klink{margin-top:auto}

/* ---------- Model detay ---------- */
.dets{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:3rem;align-items:start}
.dets__hero{
  aspect-ratio:16/11;border-radius:16px;overflow:hidden;margin-bottom:2rem;
  background:linear-gradient(180deg,var(--concrete-bg) 0%,var(--concrete) 100%);box-shadow:0 8px 28px rgba(0,0,0,.09);
}
.dets__hero img{width:100%;height:100%;object-fit:contain;padding:1.6rem;display:block}
.dets__main h2{color:#2c2c2c}
.detgal{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.8rem 0}
.detgal a{display:block;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#f6f2ec}
.detgal img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.detgal a:hover img{transform:scale(1.05)}
.dtable{width:100%;border-collapse:collapse;margin:1.2rem 0 1.8rem;font-size:.93rem}
.dtable th{
  text-align:left;width:38%;padding:.75rem .9rem;background:#f6f2ec;color:#2c2c2c;
  font-weight:700;border-bottom:1px solid #e4dcd2;
}
.dtable td{padding:.75rem .9rem;color:#806d61;border-bottom:1px solid #e4dcd2}
/* Varyant kartı içindeki künye: dar sütuna sığması için sıkı. */
.dtable--sm{margin:.8rem 0 0;font-size:.82rem}
.dtable--sm th,.dtable--sm td{padding:.45rem .55rem}
.dtable--sm th{width:42%}

.dnote{
  background:#f6f2ec;border-left:4px solid #ee7828;border-radius:0 12px 12px 0;
  padding:1.1rem 1.3rem;font-size:.92rem;color:#806d61;margin:1.6rem 0;
}
.dnote b{color:#2c2c2c}

.dets__side{position:sticky;top:96px}
.sideform{background:#fff;border:1px solid #e4dcd2;border-radius:16px;padding:1.6rem;box-shadow:0 16px 40px rgba(0,0,0,.12)}
.sideform__t{color:#2c2c2c;font-size:1.1rem;margin-bottom:.2rem}
/* Açıklama satırı YOKSA boşluğu başlık taşır: iletişim formunda alt satır
   kaldırılınca (17.09.2026) başlık ilk etikete yapışıyordu. Seçici "hemen
   ardından etiket geliyorsa" der — `:last-of-type` yazılsaydı açıklamanın DURDUĞU
   formlarda (teklif formu) fazladan boşluk açardı. */
.sideform__t + label{margin-top:1rem}
.sideform__s{color:#806d61;font-size:.88rem;margin-bottom:1.2rem}
.sideform label,.kform label{display:block;font-size:.76rem;font-weight:700;color:#2c2c2c;margin-bottom:.85rem}
.sideform input,.sideform textarea,.sideform select,
.kform input,.kform textarea,.kform select{
  width:100%;margin-top:.35rem;padding:.75rem .9rem;border:1.5px solid #e4dcd2;border-radius:9px;
  font:inherit;font-size:.93rem;color:#2c2c2c;background:#f6f2ec;text-transform:none;letter-spacing:0;
  transition:border-color .25s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease);
}
.sideform textarea,.kform textarea{resize:vertical}
.sideform input:focus,.sideform textarea:focus,.sideform select:focus,
.kform input:focus,.kform textarea:focus,.kform select:focus{
  outline:0;border-color:#ee7828;background:#fff;box-shadow:0 0 0 4px rgba(238,120,40,.15);
}
.knote{margin:.8rem 0 0;font-size:.84rem;font-weight:600;color:#1f7a4d;min-height:1.1em}
.knote.is-err{color:#b3261e}
.sidecall{margin-top:.9rem;padding-top:1.1rem;border-top:1px dashed #e4dcd2;display:grid;gap:.5rem}
.sidecall span{font-size:.78rem;color:#806d61;text-align:center}
.sidecall a{
  display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1rem;border-radius:9px;
  font-size:.9rem;font-weight:700;border:1.5px solid #e4dcd2;color:#2c2c2c;
  transition:all .25s var(--ease);
}
.sidecall a:hover{border-color:#ee7828;background:#f6f2ec}
.sidecall a.is-wa{background:#e8f8ee;border-color:#cbecd9;color:#128c4a}
.sidecall a.is-wa:hover{background:#25d366;border-color:#25d366;color:#fff}

/* ---------- İki sütun metin + görsel ---------- */
.ksplit{display:grid;grid-template-columns:1.05fr .95fr;gap:3.5rem;align-items:center}
.ksplit__vis img{width:100%;border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,.12);display:block}
/* Zigzag: görsel/video solda, metin sağda. Sıra DOM'dan gelir; burada yalnız
   geniş sütun metne verilir. */
.ksplit--rev{grid-template-columns:.95fr 1.05fr}
/* Metnin ikinci yarısı yoksa (tek paragraflık içerik) video tek başına kalır */
.ksplit--one{grid-template-columns:1fr}
.ksplit__vis .vidbox{margin:0}

/* ---------- Kart ızgarası (hakkımızda) ---------- */
.kcards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.kcard{
  background:#fff;border:1px solid #e4dcd2;border-radius:14px;padding:1.7rem;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);
}
.kcard:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.1);border-color:var(--brick-soft)}
.kcard h4{color:#2c2c2c;margin-bottom:.4rem}
.kcard p{color:#806d61;font-size:.92rem;margin:0}
.kcard__n{display:block;font-size:.75rem;font-weight:800;letter-spacing:.14em;color:#d2631a;margin-bottom:.6rem}

/* ---------- Adımlar ---------- */
.ksteps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.kstep{padding:1.8rem 1.5rem;border-top:3px solid #e4dcd2;transition:border-color .35s var(--ease)}
.kstep:hover{border-color:#ee7828}
.kstep__n{display:block;font-size:2.4rem;font-weight:800;color:#e4dcd2;line-height:1;margin-bottom:.5rem;transition:color .35s var(--ease)}
.kstep:hover .kstep__n{color:#ee7828}
.kstep h4{color:#2c2c2c;margin-bottom:.3rem}
.kstep p{color:#806d61;font-size:.92rem;margin:0}

/* ---------- Galeri ---------- */
.gtabs{display:flex;gap:.5rem;justify-content:center;margin-bottom:2.2rem;flex-wrap:wrap}
.gtab{
  padding:.7rem 1.5rem;border-radius:999px;border:1.5px solid #e4dcd2;background:#fff;
  font:inherit;font-weight:700;font-size:.92rem;color:#806d61;cursor:pointer;transition:all .25s var(--ease);
}
.gtab:hover{border-color:#ee7828;color:#2c2c2c}
.gtab.is-on{background:#2c2c2c;border-color:#2c2c2c;color:#fff}
.gpane{display:none}
.gpane.is-on{display:block;animation:kFade .45s var(--ease) both}
@keyframes kFade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.kgal{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem}
.kgal a{display:block;border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:#f6f2ec}
.kgal img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.kgal a:hover img{transform:scale(1.07)}

.vids{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.vid{
  position:relative;display:block;border-radius:14px;overflow:hidden;border:1px solid #e4dcd2;
  background:#f6f2ec;transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.vid:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,0,0,.12)}
/* Kapak + oynat düğmesi tek bir <button>: tıklanınca video.js yerine oynatıcıyı
   koyar. Kart artık <a> değil <article>, bu yüzden düğme tarayıcı stilinden
   arındırılıyor. .vid__play konumu buna göre 50% — eski 34% değeri, başlık
   bloğunun da aynı konumlandırma bağlamında olmasından geliyordu. */
.vid__media{
  display:block;position:relative;width:100%;padding:0;border:0;
  background:none;font:inherit;color:inherit;cursor:pointer;
}
.vid__media:focus-visible{outline:3px solid var(--orange);outline-offset:-3px}
.vid__img{display:block;aspect-ratio:16/9;overflow:hidden;position:relative;background:#e4dcd2}
.vid__img img,.vid__img .vid__frame{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.vid:hover .vid__img img,.vid:hover .vid__img .vid__frame{transform:scale(1.05)}
/* Kapak yerine geçen duran kare — tıklamayı düğme almalı, video değil. */
.vid__frame{display:block;pointer-events:none;background:#2c2c2c}
.vid__img::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.3)}
.vid__play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;
  width:56px;height:56px;border-radius:50%;background:#ee7828;color:#fff;
  display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.3);transition:transform .3s var(--ease);
}
.vid__play i{font-size:20px;margin-left:3px}
.vid:hover .vid__play{transform:translate(-50%,-50%) scale(1.12)}
/* Oynatıcı düğmenin yerine geçer; kapakla aynı oranı korusun.
   Doğrudan çocuk seçici ŞART: `.vid video` yazılsaydı kapak yerine geçen
   `.vid__frame` de yakalanır, `.vid__img`in oranıyla çakışırdı. */
.vid > iframe,.vid > video{display:block;width:100%;aspect-ratio:16/9;border:0;background:#000}
.vid__body{display:block;padding:1.1rem 1.2rem}
.vid__body b{display:block;color:#2c2c2c;font-size:.98rem}
.knotice{
  background:#f6f2ec;border:1px dashed #e4dcd2;border-radius:12px;
  padding:1rem 1.2rem;font-size:.88rem;color:#806d61;margin-top:1.6rem;
}
.knotice b{color:#2c2c2c}

/* ---------- Bayiler ---------- */
.bfilter{background:#fff;border:1px solid #e4dcd2;border-radius:14px;padding:1.1rem 1.2rem;margin-bottom:1.8rem;box-shadow:0 6px 22px rgba(0,0,0,.06)}
.bsearch{
  display:flex;align-items:center;gap:.6rem;background:#f6f2ec;border:1.5px solid transparent;
  border-radius:10px;padding:.1rem .9rem;margin-bottom:.9rem;
  transition:border-color .25s var(--ease),background .25s var(--ease);
}
.bsearch:focus-within{border-color:#ee7828;background:#fff}
.bsearch svg{width:18px;height:18px;color:#806d61;flex:0 0 auto}
.bsearch input{flex:1;border:0;background:transparent;padding:.75rem 0;font:inherit;font-size:.93rem;color:#2c2c2c}
.bsearch input:focus{outline:0}
.bchips{display:flex;flex-wrap:wrap;gap:.45rem}
.kchip{
  padding:.5rem 1rem;border-radius:999px;border:1.5px solid #e4dcd2;background:#fff;
  font:inherit;font-size:.86rem;font-weight:600;color:#806d61;cursor:pointer;transition:all .25s var(--ease);
}
.kchip:hover{border-color:#ee7828;color:#2c2c2c}
.kchip.is-on{background:#2c2c2c;border-color:#2c2c2c;color:#fff}
.bmeta{
  display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;
  margin-top:.9rem;padding-top:.8rem;border-top:1px dashed #e4dcd2;font-size:.84rem;color:#806d61;
}
.kreset{background:none;border:0;color:#d2631a;font:inherit;font-size:.84rem;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.blist{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.bcard{
  background:#fff;border:1px solid #e4dcd2;border-radius:14px;padding:1.4rem;display:flex;flex-direction:column;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);
}
.bcard:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.12);border-color:#ee7828}
.bcard.is-hide{display:none}
.bcard__top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.8rem}
.bcard__ic{
  flex:0 0 auto;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  background:#f6f2ec;color:#2c2c2c;font-weight:800;font-size:1.15rem;
}
.bcard h3{font-size:1.05rem;margin:.35rem 0 .15rem;color:#2c2c2c}
.bcard__loc{font-size:.85rem;color:#806d61;margin:0;font-weight:600}
.btag{
  display:inline-block;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:#806d61;background:#f6f2ec;padding:.24rem .6rem;border-radius:5px;
}
.btag--hq{background:#ee7828;color:#fff}
.bcard__adr{font-size:.88rem;color:#806d61;margin:0 0 .8rem}
.bcard__meta{display:grid;gap:.35rem;margin-bottom:1.1rem}
.bcard__meta li{display:flex;justify-content:space-between;gap:.6rem;font-size:.84rem;border-bottom:1px dashed #e4dcd2;padding-bottom:.35rem}
.bcard__meta span{color:#806d61}
.bcard__meta b{font-weight:700;text-align:right;color:#2c2c2c}
.bcard__act{display:flex;gap:.5rem;margin-top:auto}
.bcard__act .btn{flex:1}
.bempty{text-align:center;padding:3.2rem 1.2rem;border:1.5px dashed #e4dcd2;border-radius:14px;background:#f6f2ec}
.bempty b{display:block;font-size:1.1rem;margin-bottom:.4rem;color:#2c2c2c}
.bempty p{color:#806d61;max-width:52ch;margin:0 auto 1.4rem}
.kwarn{
  background:#fcefe4;border:1px solid #fad9c0;border-radius:12px;
  padding:.85rem 1.1rem;font-size:.88rem;color:#a1511a;margin-bottom:1.8rem;
}
.applysteps{display:grid;gap:.7rem;margin:1.6rem 0 2rem}
.applysteps li{display:flex;align-items:center;gap:.9rem;font-size:.95rem;color:#bcaea2}
.applysteps b{
  flex:0 0 auto;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
  background:rgba(238,120,40,.22);color:#f6b183;font-size:.82rem;font-weight:800;
}

/* ---------- İletişim ---------- */
.cinfo{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-bottom:2.5rem}
.cinfo__it{
  background:#fff;border:1px solid #e4dcd2;border-radius:14px;padding:1.7rem;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);
}
.cinfo__it:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.1);border-color:var(--brick-soft)}
.cinfo__ic{width:40px;height:40px;color:#d2631a;margin-bottom:.8rem;display:grid;place-items:center}
.cinfo__ic i{font-size:30px;line-height:1}
.cinfo__it h4{color:#2c2c2c;margin-bottom:.4rem}
.cinfo__it a,.cinfo__it p{display:block;color:#806d61;font-size:.95rem;margin:0}
.cinfo__it a:hover{color:#d2631a}
/* Tesis görseli — haritayla aynı kabuk, üstünde durduğu için alt boşluk taşır. */
.cfab{
  display:block;margin-bottom:1.2rem;border:1px solid #e4dcd2;border-radius:16px;
  overflow:hidden;background:#f6f2ec;box-shadow:0 6px 22px rgba(0,0,0,.06);line-height:0;
  transition:box-shadow .3s var(--ease),border-color .3s var(--ease);
}
.cfab img{display:block;width:100%;height:auto;transition:transform .5s var(--ease)}
.cfab:hover{border-color:var(--brick-soft);box-shadow:0 14px 34px rgba(0,0,0,.12)}
.cfab:hover img{transform:scale(1.02)}
.cfab:focus-visible{outline:2px solid var(--brick);outline-offset:3px}
/* İletişim sayfasının iki sütunu: solda form, sağda tesis görseli + saatler.
   Kural BURADA durur, şablonda inline `style` olarak DEĞİL — inline yazıldığı
   sürece aşağıdaki medya sorgusu onu ezemiyor, iki sütun mobilde de kalıyor ve
   sağ sütun ekran dışına taşıyordu (360px'te sayfa 531px genişlikteydi). */
/* `minmax(0,1fr)` — düz `1fr` değil: `1fr` aslında `minmax(auto,1fr)` demektir ve
   hücre, içindeki en geniş öğenin altına inemez. Formdaki reCAPTCHA 304px sabit
   olduğu için hücre 357px'e kilitlenip 360px ekranda taşıyordu. */
/* Blog yazısı + sağda sabit iletişim formu (17.09.2026).
   Sol sütun `minmax(0,1fr)` — düz `1fr` olsaydı içerikteki geniş bir tablo ya da
   kod bloğu hücreyi şişirip sayfayı yatay kaydırırdı. */
.blogx{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:2.8rem;align-items:start}
/* Sticky SARMALAYICIDA: form kendi `position:static` inline stilini taşıyor. */
.blogx__side{position:sticky;top:104px}
/* 980px'te alt alta: 340px'lik sütun kalınca yazı sütunu okunmaz derecede
   daralıyordu. Sticky de kapatılır — tek sütunda yapışkan blok, yazının önüne
   geçip ekranı kilitler. */
@media (max-width:980px){
  .blogx{grid-template-columns:minmax(0,1fr);gap:2rem}
  .blogx__side{position:static;top:auto}
}

.cgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.4rem;align-items:start}
/* 900px'te tek sütuna düşer: 768px'te iki sütun teknik olarak sığıyor ama form
   357px'e iniyor ve alanlar okunmaz derecede daralıyordu. */
@media (max-width:900px){.cgrid{grid-template-columns:minmax(0,1fr);gap:1.6rem}}

/* reCAPTCHA kutusu 304px SABİT (Google'ın iframe'i, esnemiyor). Dar ekranda
   formun içinden taşıyordu; ölçekleniyor. `height` de küçültülmeli — `transform`
   yer kaplamayı değiştirmez, altında 11px boşluk kalırdı. */
@media (max-width:420px){
  .kform .g-recaptcha{transform:scale(.86);transform-origin:0 0;height:67px}
}

.mapbox{border:1px solid #e4dcd2;border-radius:16px;overflow:hidden;background:#f6f2ec;box-shadow:0 6px 22px rgba(0,0,0,.06);line-height:0}
.mapbox iframe{display:block;width:100%;height:440px;border:0}
/* Tam genişlik harita (iletişim sayfası, CTA öncesi): sütun içinde 440 px yeterliydi,
   kenardan kenara açıldığında oran basıklaşıyor — yükseklik artırıldı. */
.mapbox--wide iframe{height:520px}
/* Harita bölümü zeminsiz (beyaz): üstündeki form/görsel bloğuyla arasında renk
   ayrımı olmadığı için boşlukla ayrılıyor. 5rem üst üste gelince fazla açılıyordu,
   yarısı yeterli. */
.cmap{padding-top:2.5rem}
@media (max-width:760px){
  .mapbox--wide iframe{height:340px}
}
.mapnote{margin:1rem 0 0;font-size:.9rem;color:#806d61;text-align:center}
.mapnote a{font-weight:700;color:#d2631a}

/* ---------- Kısa CTA bandı ---------- */
.ctaband{position:relative;overflow:hidden;color:#fff;background:linear-gradient(120deg,#2c2c2c 0%,#3d3a37 55%,#1c1b1a 100%);padding:3.4rem 0}
.ctaband::after{
  content:"";position:absolute;right:-60px;top:-60px;width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(238,120,40,.35),transparent 70%);
}
.ctaband__in{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:2.5rem;flex-wrap:wrap}
.ctaband h2{color:#fff;margin:0 0 .35rem;font-size:clamp(1.4rem,2.4vw,1.95rem)}
.ctaband p{color:#bcaea2;margin:0;max-width:58ch}
.ctaband__btns{display:flex;gap:.8rem;flex-wrap:wrap;flex:0 0 auto}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .dets{grid-template-columns:1fr;gap:2.2rem}
  .dets__side{position:static}
  /* İki sütun: 1 boşluk / 2 kart = kart başına 0,5 gap. */
  .models > .model{flex-basis:calc(50% - 0.65rem)}
  .kgal{grid-template-columns:repeat(3,1fr)}
  /* İki sütunlu kart + yatay kart iç düzeni bu genişlikte sığmıyor. */
  .prows > .prow{flex-basis:100%}
  .prow{grid-template-columns:200px 1fr;gap:1.8rem}
  .ksplit,.cinfo,.kcards,.blist,.vids{grid-template-columns:1fr 1fr}
  .ksteps{grid-template-columns:1fr}
}
@media (max-width:760px){
  .ksec,.phead,.ctaband{padding:3rem 0}
  /* Dar ekranda uzun başlık 22ch sınırına takılıp erken kırılmasın. */
  .phead__row h1{max-width:100%}
  .khead{margin-bottom:2rem}
  .prow{grid-template-columns:1fr;gap:1.2rem;padding:1.2rem}
  .prow__vis{max-width:190px;margin:0 auto}
  /* İki sütun: 1 boşluk / 2 kart = kart başına 0,5 gap. */
  .models > .model{flex-basis:calc(50% - 0.65rem)}
  .kgal{grid-template-columns:1fr 1fr}
  .ksplit,.cinfo,.kcards,.blist,.vids,.detgal{grid-template-columns:1fr}
  /* Tek sütuna düşünce zigzag bloğunda da metin önce okunsun */
  .ksplit--rev .kprose{order:1}
  .ksplit--rev .ksplit__vis{order:2}
  .ctaband__in{flex-direction:column;align-items:flex-start;gap:1.3rem}
  /* Düğmeler küçültülür (17.09.2026): masaüstü ölçüsüyle 360px'te 159x83'e
     düşüp metinleri iki satıra kırılıyordu ("Hemen bilgi / alın"). */
  .ctaband__btns{width:100%;gap:.6rem}
  .ctaband__btns .btn{flex:1 1 auto;min-width:0;font-size:.92rem;padding:.7rem 1.2rem}
}

/* Telefon numarası ("0 (535) 529 55 78") dar ekranda yarım genişliğe tek satır
   sığmıyor; iki düğme alt alta geçer ve metinler kırılmadan durur. */
@media (max-width:480px){
  .ctaband__btns{flex-direction:column}
  .ctaband__btns .btn{width:100%}
}

@media (max-width:760px){
  .mapbox iframe{height:320px}
  .dets__hero{aspect-ratio:3/4}

  /* Mobil menü: alt menüler akordiyon.
     Yükseklik `nav.js` tarafından ölçülüp inline yazılır; aşağıdaki 900px
     yalnız JS yetişmezse diye duran yedektir (eskiden tek sınırdı ve ürün
     grubu sayısı arttığında listeyi kesiyordu). */
  .nav__item,.nav__item--mega{position:static;width:100%}
  .sub,.mega{
    position:static;min-width:0;width:100%;transform:none !important;
    opacity:1;visibility:visible;box-shadow:none;border:0;border-radius:0;padding:0;
    display:block;max-height:0;overflow:hidden;
    background:var(--gray-bg);transition:max-height .35s var(--ease);
  }
  .nav__item.is-open .sub,.nav__item.is-open .mega{max-height:900px;padding:.3rem 0 .5rem}
  .nav__item.is-open .caret{transform:rotate(180deg)}
  /* Alt satırlar üst satırdan içeride başlar — hiyerarşi okunur olsun */
  .nav .sub>a{
    padding:.7rem 1.05rem .7rem 1.9rem;border-bottom:1px solid var(--line);
    border-radius:0;font-size:.92rem;color:var(--gray);background:none;
  }
  .nav .sub>a.active{color:var(--orange)}
  .nav .sub>a:last-child{border-bottom:0}
  .mega__in{flex-direction:column;gap:0;padding:0;width:100%}
  .nav .mcard{
    display:flex;width:100%;align-items:center;gap:.85rem;text-align:left;
    padding:.6rem 1.05rem .6rem 1.9rem;border-bottom:1px solid var(--line);border-radius:0;
  }
  .nav .mcard:last-child{border-bottom:0}
  .mcard__img{width:44px;flex:0 0 auto;aspect-ratio:3/4}
  .nav .mcard b{margin-top:0;font-size:.9rem;font-weight:600;color:var(--navy)}
  .nav .mcard:hover b{color:var(--orange)}
}


/* =========================================================
   ANASAYFA SLIDER (Swiper) — tema eki
   Cihaz varyantı sunucuda seçilir: partials/sections/slider.blade.php
   Slayt görselleri kendi metnini/butonunu İÇEREBİLİR (canlı siteden gelen
   mevcut görseller böyle). Bu yüzden karartma katmanı yalnızca panelden
   başlık/açıklama girilmiş slaytlarda render edilir.
   ========================================================= */
.hsl{position:relative;background:var(--navy)}
.hsl__sw{width:100%}
/* Oran slayt görsellerinin kendi oranıdır (2400x813 ≈ 2.952:1). METİN VE BUTON
   GÖRSELİN İÇİNDE olduğu için `cover` ile kırpılmamalı — oran tutmazsa yazı
   kenarlardan kesiliyor. Yeni slayt farklı oranda gelirse bu değer de değişmeli.

   BURAYA `max-height` YAZMA. `aspect-ratio` varken yükseklik sınırı orandan
   geçerek max-width'e dönüşür (CSS Sizing 4 — constraint transfer):
   620px × 2.952 = 1831px. Viewport bundan genişse slayt 1831px'te durur ve
   sağında `--navy` zeminli bir boşluk kalır. Yükseklik sınırlanmak istenirse
   `.hsl__sw`'ye `max-width` verilip ortalanır; slaytın kendisi sınırlanmaz. */
.hsl__item{position:relative;display:block;aspect-ratio:2400/813;background:var(--navy)}
.hsl__img{width:100%;height:100%;object-fit:cover;display:block}

/* GÜVENLİK AĞI: Swiper CDN'den geliyor. Gelmezse (ağ hatası, engel, gecikme)
   `.swiper-wrapper` slaytları YAN YANA dizer ve sayfa yatay kayar. Init'ten
   önce wrapper blok akışında kalır, yalnız ilk slayt görünür; Swiper
   `swiper-initialized` ekleyince kurallar kendiliğinden devre dışı kalır.
   Ürün detay galerisinde de aynı ağ var (`.pdet__heroSw`). */
.hsl__sw:not(.swiper-initialized){overflow:hidden}
.hsl__sw:not(.swiper-initialized) .swiper-wrapper{display:block}
.hsl__sw:not(.swiper-initialized) .swiper-slide ~ .swiper-slide{display:none}
/* Oklar ve noktalar Swiper kabının DIŞINDA; ağın onları da kapatması için
   `.hsl` üzerinden hedefleniyor. */
.hsl:has(.hsl__sw:not(.swiper-initialized)) .hsl__nav,
.hsl:has(.hsl__sw:not(.swiper-initialized)) .hsl__dots{display:none}

/* Metin katmanı — yalnız başlık/açıklama girilmiş slaytlarda basılır */
.hsl__body{
  position:absolute;inset:0;display:flex;align-items:center;
  background:linear-gradient(90deg,rgba(44,44,44,.92) 0%,rgba(44,44,44,.75) 45%,rgba(44,44,44,.25) 100%);
}
.hsl__txt{max-width:640px;color:#fff}
.hsl__txt .pill{color:#f6b183;background:rgba(238,120,40,.18)}
.hsl__txt h2{color:#fff;font-size:clamp(1.7rem,3.4vw,2.9rem);margin-bottom:.5em}
.hsl__txt p{color:#d9d0c6;font-size:1.02rem;max-width:52ch;margin-bottom:1.5rem}

/* Oklar */
.hsl__nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:44px;height:44px;display:grid;place-items:center;cursor:pointer;
  background:rgba(44,44,44,.4);border:1px solid rgba(255,255,255,.3);
  border-radius:50%;color:#fff;backdrop-filter:blur(4px);
  transition:background .25s var(--ease),border-color .25s var(--ease),opacity .25s var(--ease);
}
.hsl__nav i{font-size:19px}
.hsl__nav:hover{background:var(--orange);border-color:var(--orange)}
.hsl__nav--prev{left:2.2%}
.hsl__nav--next{right:2.2%}
.hsl__nav.swiper-button-disabled{opacity:.35;cursor:default}

/* Noktalar */
.hsl__dots{
  position:absolute;left:0;right:0;bottom:1.1rem;z-index:5;
  display:flex;justify-content:center;gap:.5rem;
}
.hsl__dots .swiper-pagination-bullet{
  width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.55);
  opacity:1;cursor:pointer;transition:width .3s var(--ease),background .3s var(--ease);
  box-shadow:0 1px 4px rgba(44,44,44,.35);
}
.hsl__dots .swiper-pagination-bullet-active{width:26px;border-radius:5px;background:var(--orange)}

/* Slider'dan sonra gelen ilk bölümün üst boşluğu kısalır.
   Slider zaten tam genişlikte ve görsel olarak "dolu"; ardından gelen 5rem'lik
   standart `.sec` boşluğu, 1440×768 gibi kısa ekranlarda fold'un altında 160px
   düz beyaz şerit bırakıyor ve sayfa kaydırılamazmış izlenimi veriyordu.
   Ölçüm (1440×900): slider alt kenarı 608px, bölüm içeriği 688px'te başlıyordu.

   Eski kural `.hsl + .hero` idi; hero bölümü kaldırılınca hiçbir şeye uymaz
   olmuştu — slider'dan sonra artık `sections/about.blade.php` (`.sec`) geliyor. */
.hsl + .sec{padding-top:2.75rem}

@media (max-width:1040px){
  .hsl__body{background:linear-gradient(90deg,rgba(44,44,44,.94) 0%,rgba(44,44,44,.8) 60%,rgba(44,44,44,.5) 100%)}
}
@media (max-width:760px){
  /* Mobil slayt girilmemişse masaüstü görseli (2.75:1) kullanılır ve dar
     ekranda alçak bir bant gibi görünür. Panele dikey mobil görsel
     yüklendiğinde slayt kendi oranını alır. */
  .hsl__item{aspect-ratio:auto;min-height:0}
  .hsl__img{height:auto}
  .hsl__body{
    position:absolute;padding:1.4rem 0;
    background:linear-gradient(180deg,rgba(44,44,44,.45) 0%,rgba(44,44,44,.9) 75%);
  }
  .hsl__txt{max-width:none;text-align:center}
  .hsl__txt p{margin-inline:auto;font-size:.95rem;margin-bottom:1rem}
  .hsl__nav{display:none}
  .hsl__dots{bottom:.6rem}
}
@media (prefers-reduced-motion:reduce){
  .hsl__sw .swiper-wrapper{transition-duration:.01ms !important}
}
.hsl__link{display:block;width:100%;height:100%}

/* ---------- Hızlı teklif bölümü (hero kaldırıldıktan sonra) ---------- */
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;
}
.qoffer{
  background:
    radial-gradient(900px 480px at 12% 10%,rgba(238,120,40,.1),transparent 60%),
    linear-gradient(180deg,var(--gray-bg) 0%,#fff 100%);
  border-bottom:1px solid var(--line);padding:3.4rem 0 4rem;
}
.qoffer__in{display:flex;justify-content:center}
.qoffer .quick{position:static;width:min(560px,100%)}
@media (max-width:760px){
  .qoffer{padding:2.6rem 0 3rem}
}

/* ---------- Ürün kartları 4'lü ızgara — ara kırılımlar ---------- */
@media (max-width:1240px){
  .pgrid{grid-template-columns:repeat(2,1fr);gap:1.4rem}
}
@media (max-width:640px){
  .pgrid{grid-template-columns:1fr}
}

/* =========================================================
   LIGHTBOX — js/lightbox.js ile çalışır
   ========================================================= */
body.lbx-open{overflow:hidden}

/* [hidden] ile display:none ZORUNLU. `.lbx{display:grid}` ile tarayıcının
   `[hidden]{display:none}` kuralı aynı özgüllükte; author stylesheet sonra
   geldiği için grid kazanıyordu ve kapalı lightbox tüm ekranı kaplayan
   görünmez bir katman olarak kalıyordu (imleç zoom-out, tıklamalar yutuluyor). */
.lbx[hidden]{display:none !important}
.lbx{
  position:fixed;inset:0;z-index:200;display:grid;place-items:center;
  opacity:0;pointer-events:none;transition:opacity .25s var(--ease);
}
.lbx.is-on{opacity:1;pointer-events:auto}
.lbx__bg{position:absolute;inset:0;background:rgba(28,27,26,.93);cursor:zoom-out}

.lbx__fig{
  position:relative;z-index:2;margin:0;max-width:min(1100px,92vw);
  display:flex;flex-direction:column;align-items:center;gap:.9rem;
}
.lbx__img{
  max-width:100%;max-height:78vh;display:block;border-radius:10px;
  background:var(--navy-2);box-shadow:0 24px 70px rgba(0,0,0,.5);
  transform:scale(.97);transition:transform .25s var(--ease),opacity .2s var(--ease);
}
.lbx.is-on .lbx__img{transform:scale(1)}
.lbx.is-loading .lbx__img{opacity:.35}
.lbx__cap{
  color:#d9d0c6;font-size:.92rem;text-align:center;max-width:62ch;line-height:1.5;
}

.lbx__btn{
  position:absolute;z-index:3;display:grid;place-items:center;cursor:pointer;
  width:46px;height:46px;border-radius:50%;color:#fff;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.26);
  backdrop-filter:blur(4px);
  transition:background .2s var(--ease),border-color .2s var(--ease);
}
.lbx__btn i{font-size:21px}
.lbx__btn:hover{background:var(--orange);border-color:var(--orange)}
.lbx__btn:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.lbx__close{top:1.1rem;right:1.1rem}
.lbx__prev{left:1.6rem;top:50%;transform:translateY(-50%)}
.lbx__next{right:1.6rem;top:50%;transform:translateY(-50%)}

.lbx__count{
  position:absolute;z-index:3;bottom:1.2rem;left:50%;transform:translateX(-50%);
  color:#a2938a;font-size:.82rem;font-weight:600;letter-spacing:.06em;
}

/* Tıklanabilir galeri görselleri imleç ipucu */
.kgal a,.gal__it,.detgal a{cursor:zoom-in}

@media (max-width:760px){
  .lbx__fig{max-width:94vw}
  .lbx__img{max-height:68vh}
  .lbx__btn{width:40px;height:40px}
  .lbx__close{top:.7rem;right:.7rem}
  .lbx__prev{left:.5rem}
  .lbx__next{right:.5rem}
  .lbx__cap{font-size:.85rem}
}
@media (prefers-reduced-motion:reduce){
  .lbx,.lbx__img{transition:none}
  .lbx__img{transform:none}
}

/* ---------- Anasayfa galeri slider'ı ----------
   Oklar görsellerin ÜSTÜNE binmez: slider'a yanlardan iç boşluk verilir ve
   düğmeler o boşluğa oturur. Böylece her ekran genişliğinde kare alanın dışında
   kalırlar (mutlak konum + negatif offset dar ekranda görselin üzerine düşüyordu). */
.galsl{position:relative;padding-inline:58px}
.galsl__sw{overflow:hidden;border-radius:var(--r)}

/* GÜVENLİK AĞI (hero slider'daki ile aynı gerekçe): Swiper CDN'den gelmezse
   galeri slaytları alt alta diziliyor ve anasayfa üç katına çıkıyordu.
   Init'ten önce yalnız ilk görsel görünür, oklar gizlenir. */
.galsl__sw:not(.swiper-initialized) .swiper-wrapper{display:block}
.galsl__sw:not(.swiper-initialized) .swiper-slide ~ .swiper-slide{display:none}
.galsl:has(.galsl__sw:not(.swiper-initialized)) .galsl__nav{display:none}
/* .gal__it zaten tanımlı (4/3 oran, hover zoom) — slayt içinde de aynı görünüm */
.galsl .gal__it{height:100%}

.galsl__nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:42px;height:42px;display:grid;place-items:center;cursor:pointer;
  background:#fff;border:1px solid var(--line);border-radius:50%;color:var(--navy);
  box-shadow:var(--sh);
  transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),opacity .25s var(--ease);
}
.galsl__nav i{font-size:18px}
.galsl__nav:hover{background:var(--orange);border-color:var(--orange);color:#fff}
.galsl__nav:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.galsl__nav--prev{left:0}
.galsl__nav--next{right:0}
.galsl__nav.swiper-button-disabled{opacity:0;pointer-events:none}

@media (max-width:760px){
  /* Dar ekranda ok yok; iç boşluk da kalkar, slaytlar tam genişliği kullanır */
  .galsl{padding-inline:0}
  .galsl__nav{display:none}
}

/* ---------- Anasayfa tanıtım videosu ---------- */
.vidbox{
  position:relative;max-width:900px;margin-inline:auto;
  aspect-ratio:16/9;border-radius:16px;overflow:hidden;
  background:var(--navy);box-shadow:var(--sh-h);
}
.vidbox__play{
  position:absolute;inset:0;width:100%;height:100%;padding:0;
  border:0;background:none;cursor:pointer;display:block;
}
.vidbox__img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .6s var(--ease),filter .3s var(--ease);
}
.vidbox__play:hover .vidbox__img{transform:scale(1.04);filter:brightness(.85)}
/* FA'ya geçişte iki renkli YouTube SVG'si tek renk marka ikonuna döndü; eski
   `fill` tabanlı hover yerine `color` geçişi kullanılıyor. */
.vidbox__btn{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:82px;display:grid;place-items:center;pointer-events:none;
  color:rgba(33,33,33,.86);
  filter:drop-shadow(0 6px 18px rgba(0,0,0,.4));
  transition:color .25s var(--ease);
}
.vidbox__btn i{font-size:64px;line-height:1;display:block}
.vidbox__play:hover .vidbox__btn{color:var(--orange)}
.vidbox__play:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.vidbox iframe{width:100%;height:100%;border:0;display:block}

@media (max-width:760px){
  .vidbox{border-radius:12px}
  .vidbox__btn{width:62px}
}

/* =========================================================
   SABİT WHATSAPP DÜĞMESİ (.wafab) — YALNIZ MASAÜSTÜ
   Mobilde `.mbar` kendi WhatsApp sekmesini taşıyor; ikisi sağ altta üst üste
   biniyordu. 15.09.2026'da mobilden kaldırılması istendi; masaüstü sürümü de
   yanlışlıkla silinmişti, 16.09.2026'da geri alındı.
   ========================================================= */
.wafab{
  position:fixed;right:22px;bottom:22px;z-index:95;
  display:flex;align-items:center;gap:0;
  height:58px;padding:0;border-radius:29px;
  background:#25D366;color:#fff;
  box-shadow:0 8px 24px rgba(37,211,102,.42),0 2px 8px rgba(44,44,44,.18);
  text-decoration:none;
  /* overflow GÖRÜNÜR kalmalı: nabız halkası (.wafab__ring) 1.75 kat büyüyor,
     hidden olsaydı kırpılıp animasyon hiç görünmezdi. Etiketin taşmasını
     etiketin kendi overflow:hidden'ı engelliyor. */
  overflow:visible;
  /* Sayfa açılışında aşağıdan süzülerek gelir */
  animation:wafab-in .5s var(--ease) .8s both;
  transition:background .25s var(--ease),box-shadow .25s var(--ease),transform .25s var(--ease);
}
@keyframes wafab-in{from{opacity:0;transform:translateY(20px) scale(.85)}to{opacity:1;transform:none}}

.wafab__ic{
  position:relative;z-index:2;flex:0 0 58px;width:58px;height:58px;
  display:grid;place-items:center;
}
.wafab__ic i{font-size:30px;line-height:1;display:block}

/* Genişleyen etiket — hover/odakta açılır */
.wafab__label{
  position:relative;z-index:2;
  max-width:0;opacity:0;white-space:nowrap;overflow:hidden;
  font-weight:700;font-size:.92rem;letter-spacing:.01em;
  transition:max-width .38s var(--ease),opacity .28s var(--ease),padding-right .38s var(--ease);
  padding-right:0;
}
.wafab:hover,.wafab:focus-visible{
  background:#1db954;transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(37,211,102,.5),0 3px 10px rgba(44,44,44,.2);
}
.wafab:hover .wafab__label,
.wafab:focus-visible .wafab__label{max-width:220px;opacity:1;padding-right:22px}
.wafab:focus-visible{outline:3px solid var(--navy);outline-offset:3px}

/* Dışa yayılan nabız halkası — dikkat çeker, tıklamayı engellemez */
.wafab__ring{
  position:absolute;left:0;top:0;width:58px;height:58px;
  border-radius:50%;background:#25D366;z-index:1;pointer-events:none;
  animation:wafab-pulse 2.4s var(--ease) infinite;
}
@keyframes wafab-pulse{
  0%{transform:scale(1);opacity:.55}
  70%{transform:scale(1.75);opacity:0}
  100%{transform:scale(1.75);opacity:0}
}
/* Etiket açıkken halka gizlenir, aksi halde genişleyen pilin altında bant gibi durur */
.wafab:hover .wafab__ring,
.wafab:focus-visible .wafab__ring{animation-play-state:paused;opacity:0}

/* Mobilde .mbar devrede — sabit düğme hiç basılmaz (müşteri kararı). */
@media (max-width:760px){
  .wafab{display:none}
}

@media (prefers-reduced-motion:reduce){
  .wafab{animation:none}
  .wafab__ring{animation:none;opacity:0}
  .wafab:hover{transform:none}
}

/* =========================================================
   KATALOG FLIPBOOK (PDF.js + StPageFlip)
   ========================================================= */
.fb{position:relative;background:var(--graphite);border-radius:16px;padding:1.4rem 1.4rem 1rem}
.fb.is-fs{border-radius:0;padding:2rem;display:flex;flex-direction:column;justify-content:center}

/* Taşma KIRPILIR. StPageFlip köşe kıvrımı sırasında `.stf__item`'ı ve gölge
   katmanlarını kabın dışına konumlandırıyor: fare köşeye yalnızca DEĞDİĞİNDE
   (tıklama gerekmez) sayfa ekranın dışına sarkıyor, belge genişliyor ve yatay
   kaydırma çubuğu çıkıyordu (ölçüm: 885px ekranda scrollWidth 885 → 1211).
   Kırpma buraya yazılır; `body{overflow-x:hidden}` yazılamaz — bir ata öğede
   overflow kırpması `position:sticky`'yi etkisiz kılar ve blog detayının
   yapışkan iletişim formu ölür. */
.fb__stage{margin-inline:auto;min-height:420px;overflow:hidden}
.fb__page{background:#fff;overflow:hidden}
.fb__page .fb__canvas{width:100%;height:100%;display:block;object-fit:contain}
/* Henüz render edilmemiş sayfa: sessiz bekleme zemini */
.fb__page:empty{background:linear-gradient(180deg,#fff 0%,var(--concrete-bg) 100%)}

.fb__status{
  position:absolute;inset:0;display:grid;place-items:center;z-index:3;
  color:var(--craft-on-dark);font-size:.95rem;font-weight:600;
}
.fb.is-ready .fb__status{display:none}

/* Kontrol çubuğu */
.fb__bar{
  display:flex;align-items:center;justify-content:center;gap:.8rem;
  margin-top:1.1rem;flex-wrap:wrap;
}
.fb__nav,.fb__fs,.fb__ses{
  width:42px;height:42px;display:grid;place-items:center;cursor:pointer;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.26);
  border-radius:50%;color:#fff;
  transition:background .22s var(--ease),border-color .22s var(--ease),opacity .22s var(--ease);
}
.fb__nav i,.fb__fs i,.fb__ses i{font-size:18px}
.fb__nav:hover,.fb__fs:hover,.fb__ses:hover{background:var(--brick);border-color:var(--brick)}
.fb__nav:focus-visible,.fb__fs:focus-visible,.fb__ses:focus-visible{outline:2px solid var(--brick);outline-offset:3px}
/* Ses kapalıyken düğme soluk: ikon değişimi (volume-xmark) tek başına
   küçük ekranda fark edilmiyor. */
.fb__ses.is-off{opacity:.55}
.fb__ses.is-off:hover{opacity:1}
.fb__count{
  color:var(--craft-on-dark);font-size:.88rem;font-weight:700;
  min-width:76px;text-align:center;letter-spacing:.04em;
}

@media (max-width:760px){
  .fb{padding:1rem .8rem .8rem;border-radius:12px}
  .fb__stage{min-height:320px}
  .fb__bar{gap:.6rem}
  .fb__nav,.fb__fs,.fb__ses{width:38px;height:38px}
}

/* ---------- /urunler kartları: kartın tamamı bağlantı ----------
   <article> yerine <a> kullanıldığı için iç öğeler span'e çevrildi;
   span varsayılan olarak inline, blok davranışı burada geri veriliyor. */
.prow__txt{display:block}
.prow__act{display:flex}
.prow .klink{pointer-events:none} /* tıklama dış <a>'ya gitsin */
.prow:hover .klink span{transform:translateX(5px)}

/* ---------- Ürün detay: model kodu, sertifika rozeti, özellik listesi ---------- */
.dets__hero{position:relative}
.dets__cert{
  position:absolute;right:1rem;bottom:1rem;z-index:2;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;
  min-width:86px;padding:.7rem .8rem;border-radius:12px;text-align:center;
  background:var(--graphite);color:#fff;box-shadow:var(--sh-h);
}
.dets__cert img{width:64px;height:64px;object-fit:contain;padding:0;display:block}
.dets__cert b{font-family:'Poppins',sans-serif;font-size:1.35rem;line-height:1;color:var(--brick)}
.dets__cert span{font-size:.62rem;line-height:1.25;color:var(--craft-on-dark);letter-spacing:.04em}

.dets__model{
  display:inline-flex;align-items:center;gap:.6rem;margin:0 0 1.4rem;
  padding:.45rem .9rem;border:1px solid var(--concrete-line);border-radius:8px;
  background:var(--concrete-bg);
}
.dets__model span{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--craft-l)}
.dets__model b{font-family:'Poppins',sans-serif;font-size:1rem;color:var(--graphite);letter-spacing:.02em}

/* Öne çıkan özellikler — brief'teki madde listesi.
   Mini ikonlar müşteriden gelince <li> başına <img> eklenecek; şimdilik
   marka renginde onay işareti kullanılıyor. */
.feats{display:grid;gap:.6rem;margin:1rem 0 1.6rem}
.feats li{
  position:relative;padding-left:1.9rem;font-size:.95rem;font-weight:500;color:var(--graphite);
}
.feats li::before{
  content:"";position:absolute;left:0;top:.3em;width:1.15rem;height:1.15rem;border-radius:50%;
  background:var(--brick);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20 6 9 17l-5-5' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/76% no-repeat,
        radial-gradient(circle,#000 99%,#000);
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20 6 9 17l-5-5' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/76% no-repeat;
}

@media (max-width:760px){
  .dets__cert{right:.6rem;bottom:.6rem;min-width:72px;padding:.55rem .6rem}
  .dets__cert b{font-size:1.1rem}
}

/* Görseli henüz yüklenmemiş ürün kartı */
.model__ph{
  display:grid;place-items:center;width:100%;height:100%;
  color:var(--craft-l);background:var(--concrete-bg);
}
.model__ph i{font-size:34px}
.model__kod{
  display:inline-block;margin-bottom:.45rem;font-size:.7rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--brick-d);
}

/* ---------- Ürün görseli altı özellik ikon şeridi ----------
   İkonlar müşteriden hazır etiketli kutucuk olarak geldi (metin görselin içinde),
   bu yüzden yanına ayrıca yazı basılmıyor. */
.ficons{
  display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.1rem;
  margin:-.6rem 0 2rem;padding:0;list-style:none;
}
.ficons li{margin:0}
.ficons img{
  width:86px;height:auto;display:block;
  transition:transform .25s var(--ease);
}
.ficons li:hover img{transform:translateY(-3px)}

@media (max-width:760px){
  .ficons{gap:.3rem .7rem;margin-bottom:1.5rem}
  .ficons img{width:68px}
}


/* =========================================================
   KENAR IŞIK İZİ — hover'da kartın çevresinde dolaşan turuncu iz
   =========================================================
   Teknik: ::before katmanı `conic-gradient`li bir dolgu; iki maske
   XOR'lanarak ortası oyuluyor, geriye yalnız `padding` kalınlığındaki
   kenar şeridi kalıyor. Açı `@property` ile <angle> olarak tanımlı —
   özel değişkenler varsayılan olarak animate EDİLEMEZ, tip beyanı
   olmadan iz dönmez, sabit bir yay olarak durur.

   Kartın kendi `border-radius`ı `inherit` ile alınır; yeni bir kart
   tipine eklerken tek şart konteynerin `position:relative` olması.
   ========================================================= */
@property --kenar-aci{syntax:"<angle>";initial-value:0deg;inherits:false}

.prow,.model,.kcard,.cinfo__it,.pcard{position:relative}

.prow::before,.model::before,.kcard::before,.cinfo__it::before,.pcard::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  border-radius:inherit;padding:1.6px;
  background:conic-gradient(from var(--kenar-aci),
    transparent 0turn .70turn,
    var(--brick-soft) .86turn,
    var(--brick) .95turn,
    transparent 1turn);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
          mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;
  opacity:0;transition:opacity .3s var(--ease);
}

.prow:hover::before,.model:hover::before,.kcard:hover::before,.cinfo__it:hover::before,.pcard:hover::before,
.prow:focus-visible::before,.model:focus-visible::before{
  opacity:1;animation:kenarTuru 2.5s linear infinite;
}

@keyframes kenarTuru{to{--kenar-aci:360deg}}

/* Hareket hassasiyetinde iz durur; kenar yine belirir, yalnız dönmez. */
@media (prefers-reduced-motion:reduce){
  .prow:hover::before,.model:hover::before,.kcard:hover::before,.cinfo__it:hover::before,.pcard:hover::before,
  .prow:focus-visible::before,.model:focus-visible::before{animation:none}
}


/* =========================================================
   ÜRÜN DETAY (15.09.2026, tasarım örneğine göre)
   =========================================================
   Sol: ek görsel şeridi + ana görsel. Sağ: breadcrumb, ad, sertifika,
   kısa açıklama, katlanır bilgi blokları.

   Sayfa `_phead` basmıyor; üstte koyu bant olmadığı için bölüm kendi üst
   boşluğunu taşıyor. Eski `.dets` düzeninin kuralları yukarıda duruyor:
   `.dtable` ve `.dnote` hâlâ oradan geliyor.
   ========================================================= */
.pdet__sec{padding-top:3rem}
.pdet{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:3.5rem;align-items:start}

/* --- Sol: görseller (Swiper 12: ana görsel + thumbs şeridi) --- */
.pdet__vis{display:grid;grid-template-columns:96px minmax(0,1fr);gap:1.1rem;align-items:start}
/* Şerit yoksa sol kolon ayrılmaz: ana görsel 96px'lik şerit kolonuna oturup
   avuç içi kadar kalıyordu (galerisi olmayan ürünlerde). */
.pdet__vis--tek{grid-template-columns:minmax(0,1fr)}
/* Kapı görselleri çok uzun (1200x2556 ≈ 1:2,1). Tek kolonda serbest bırakılınca
   ana görsel 850px'i buluyor ve altındaki renk seçici ilk ekrandan taşıyordu.
   Sınır MAX-WIDTH'tir: `aspect-ratio` varken max-height genişliğe dönüşür ve
   kabı sağdan boşaltır (bkz. anasayfa slider'ında aynı tuzak). */
.pdet__vis--tek .pdet__heroSw{grid-column:1/-1}

/* Görselin altındaki "Teklif Al" + "Katalog" çifti. Şerit/görsel ikili
   ızgarasının altına tam genişlikte oturur (`1/-1`), yoksa 96px'lik şerit
   kolonuna sıkışırdı. Düğmeler eşit pay alır. */
.pdet__cta{grid-column:1/-1;display:flex;gap:.8rem;margin-top:1.2rem}
.pdet__cta .btn{flex:1}

/* Sabit başlık (`.hdr`, 84px + duyuru bandı) çapa hedefini örtmesin:
   "Teklif Al" düğmesi forma indiğinde başlık satırı görünür kalır. */
#teklif{scroll-margin-top:120px}

/* Şerit düz liste: scrollbar YOK, kareler olduğu kadar alt alta dizilir. */
.pdet__strip{display:flex;flex-direction:column;gap:.9rem}
.pdet__thumb{
  flex:0 0 auto;width:96px;aspect-ratio:1;padding:0;cursor:pointer;
  border:1.5px solid var(--concrete-line);border-radius:12px;overflow:hidden;background:#fff;
  transition:border-color .25s var(--ease);
}
.pdet__thumb img{width:100%;height:100%;object-fit:contain;padding:.35rem;display:block}
/* Hover'da yalnız kenarlık ısınır — kart yukarı kalkmıyor. */
.pdet__thumb:hover{border-color:var(--brick-soft)}
.pdet__thumb.is-active{border-color:var(--brick)}
.pdet__thumb:focus-visible{outline:2px solid var(--brick);outline-offset:2px}

/* --- Renk seçici (17.09.2026) ---
   Şerit/görsel ikilisinin ALTINA tam genişlikte oturur (`1/-1`), yoksa 96px'lik
   şerit kolonuna sıkışırdı — `.pdet__cta` ile aynı gerekçe. Düğmeler ana görsel
   Swiper'ına `slideTo` ile bağlı (kit.js). */
.pdet__colors{grid-column:1/-1;margin-top:1.3rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.pdet__colorsLabel{
  font-weight:600;font-size:.86rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--craft)
}
.pdet__swatches{display:flex;gap:1.1rem;flex-wrap:wrap}
.pdet__swatch{
  display:flex;flex-direction:column;align-items:center;gap:.4rem;
  padding:0;cursor:pointer;background:none;border:0;line-height:1
}
/* Renk örneği DÜZ DAİREDİR, kapı kırpması değil: 46x74'lük bir kırpmada rengin
   kendisi okunmuyordu, üstelik kremde kırmızı panik bar, diğerlerinde beyaz bar
   göründüğü için üç örnek birbiriyle tutarsızdı.
   `box-shadow` çift halka kurar: içeride ince ayraç (açık renk zeminde daire
   kaybolmasın), dışarıda seçim halkası — `transform` yerine gölge kullanıldı ki
   düğme seçilince satır yüksekliği oynamasın. */
.pdet__chip{
  width:38px;height:38px;border-radius:50%;display:block;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.14),0 0 0 2px #fff,0 0 0 2px var(--concrete-line);
  transition:box-shadow .2s var(--ease)
}
.pdet__chip--img{object-fit:cover;object-position:50% 45%}
.pdet__swatchAd{font-size:.82rem;color:var(--graphite);font-weight:600}
.pdet__swatchRal{font-size:.68rem;letter-spacing:.04em;color:var(--craft-l)}
.pdet__swatch:hover .pdet__chip{box-shadow:inset 0 0 0 1px rgba(0,0,0,.14),0 0 0 2px #fff,0 0 0 2px var(--brick-soft)}
.pdet__swatch.is-active .pdet__chip{box-shadow:inset 0 0 0 1px rgba(0,0,0,.14),0 0 0 3px #fff,0 0 0 5px var(--brick)}
.pdet__swatch.is-active .pdet__swatchAd{color:var(--brick)}
.pdet__swatch:focus-visible{outline:2px solid var(--brick);outline-offset:3px;border-radius:10px}

/* Sağ sütunda, ürün adının altındaki seçili renk satırı. */
.pdet__renk{
  margin:.1rem 0 .9rem;font-size:.9rem;font-weight:600;color:var(--brick);
  letter-spacing:.01em
}

/* Ürün fotoğrafları beyaz fonda çekiliyor; zemin de beyaz kalınca görsel
   sayfaya gömülüyor, kutu hissi vermiyor. */
/* ÖLÇÜLDÜ (15.09.2026): kapta `aspect-ratio` + slaytta `height:100%` + Swiper'ın
   genişliği ölçüp slaytlara yazması birbirini besleyen bir döngü kuruyordu —
   kap 33.554.432 px'e (2^25) şişip sayfayı hem yatay hem dikey uçuruyordu.
   Zincir kırıldı: oranı SLAYT taşıyor, kap ve slayt yüksekliği içerikten gelir.
   `min-width:0` grid hücresinin içerik genişliğine göre büyümesini engeller. */
/* GENİŞLİK SINIRI: kutunun oranı ana görselden geldiği için (1:2 kapılarda çok
   dikey) serbest bırakılan bir kap 870px'e uzayıp renk seçiciyi ilk ekrandan
   taşırıyordu. Yükseklik doğrudan sınırlanamaz — `aspect-ratio` varken
   `max-height` genişliğe dönüşür ve kabı sağdan boşaltır; sınır genişlikten
   verilir. 330px'te 1:2 bir kapı ≈ 660px yüksekliğe oturur. */
.pdet__heroSw{
  border-radius:14px;overflow:hidden;background:#fff;
  width:100%;max-width:330px;margin-inline:auto;min-width:0
}
.pdet__heroSw .swiper-slide{height:auto}
/* Kutunun oranı ANA GÖRSELDEN gelir (`--pdet-oran`, şablonda `gorselOrani()`).
   Sabit 4/5 iken 1:2 oranındaki yangın kapısı görselleri yüksekliğe sığıyor ve
   yanlarda 126–172px beyaz kalıyordu; kapı olduğundan küçük görünüyordu.
   Değişken yoksa eski davranış sürer. */
.pdet__hero{display:block;aspect-ratio:var(--pdet-oran,.8);background:#fff}
.pdet__hero img{width:100%;height:100%;object-fit:contain;display:block}
/* GÜVENLİK AĞI: Swiper init olmadan slaytların kendi yüksekliği yok ve
   `.swiper-wrapper` onları YAN YANA diziyor — görsel kaybolup sayfa yatay
   kayıyordu. Init'ten önce wrapper blok akışına döner ve yalnız ilk slayt
   görünür; `overflow:hidden` korunur ki taşma olmasın. Swiper
   `swiper-initialized` ekleyince kuralların hepsi devre dışı kalır. */
.pdet__heroSw:not(.swiper-initialized) .swiper-wrapper{display:block}
.pdet__heroSw:not(.swiper-initialized) .swiper-slide ~ .swiper-slide{display:none}
.pdet__heroSw:not(.swiper-initialized) .pdet__nav{display:none}

/* Kaydırırken imleç "tutulabilir" görünsün. */
.pdet__heroSw{position:relative}
.pdet__heroSw .swiper-slide{cursor:grab}
.pdet__heroSw .swiper-slide:active{cursor:grabbing}

/* Ok düğmeleri: görsel beyaz fonlu olduğu için kendi zeminlerini taşıyorlar. */
.pdet__nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:40px;height:40px;display:grid;place-items:center;cursor:pointer;
  border:1px solid var(--concrete-line);border-radius:50%;
  background:rgba(255,255,255,.92);color:var(--graphite);
  box-shadow:0 4px 14px rgba(0,0,0,.08);
  transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);
}
.pdet__nav i{font-size:15px}
.pdet__nav:hover{background:var(--brick);border-color:var(--brick);color:#fff}
.pdet__nav:focus-visible{outline:2px solid var(--brick);outline-offset:2px}
.pdet__nav--prev{left:.7rem}
.pdet__nav--next{right:.7rem}
/* Uçtaki okun basılacak bir yeri kalmaz; Swiper bu sınıfı kendi ekliyor. */
.pdet__nav.swiper-button-disabled{opacity:.3;pointer-events:none}

/* --- Sağ: bilgiler --- */
.pdet__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}
.pdet__headtext{min-width:0}

.pdet__crumb{font-size:.82rem;color:var(--craft-l);margin-bottom:.35rem}
.pdet__crumb a{color:var(--craft-l);transition:color .2s var(--ease)}
.pdet__crumb a:hover{color:var(--brick)}
.pdet__crumb span{margin:0 .35rem;opacity:.7}

/* Başlık etiketi değil, düz metin (sayfanın h1'i başlık bandında) — görsel
   olarak sayfa başlığı gibi durur. */
/* `min-width:0` ŞART: flex item'ın varsayılan `min-width:auto`'su onu en uzun
   kelimesinin altına indirmez. Rozet 108px'e çıkınca ad daralmak zorunda. */
.pdet__ad{
  font-family:'Poppins',sans-serif;font-weight:800;min-width:0;
  font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.25;margin:0;color:var(--graphite);
}

/* Sertifika rozeti çerçevesiz: ikonun kendi biçimi yeterli.

   18.09.2026'da büyütüldü (72→108px, mobilde 56→84): marka işareti ürün adının
   yanında avuç içi kadar kalıyor, taşıdığı yangın dayanım sınıfı okunmuyordu. */
.pdet__cert{flex:0 0 auto;display:grid;place-items:center;min-width:96px}
.pdet__cert img{width:108px;height:108px;object-fit:contain;display:block}
.pdet__cert b{font-family:'Poppins',sans-serif;font-size:1.4rem;line-height:1;color:var(--brick)}

.pdet__lead{margin:1.2rem 0 0;color:var(--craft);font-size:.95rem;line-height:1.75;max-width:60ch}

/* --- Belgelendirme künyesi ---
   Kısa açıklama ile katlanır blokların arasında, küçük. Künye 900x1600 ve
   yazıları bu ölçekte okunmuyor; asıl iş lightbox'ta. Görselin kendisi dikey
   olduğu için kutu yatay: solda kapak, sağda ne olduğunu söyleyen metin. */
.pdet__belge{
  display:flex;align-items:center;gap:.9rem;margin-top:1.4rem;padding:.7rem;
  border:1px solid var(--concrete-line);border-radius:12px;background:#fff;
  text-decoration:none;max-width:60ch;cursor:zoom-in;
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease);
}
.pdet__belge:hover{border-color:var(--orange);box-shadow:0 8px 20px rgba(44,44,44,.08)}
.pdet__belge img{
  flex:0 0 auto;width:58px;height:92px;object-fit:cover;object-position:top;
  border-radius:8px;border:1px solid var(--concrete-line);display:block;background:#fff;
}
.pdet__belge__tx{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.pdet__belge__tx b{font-size:.92rem;color:var(--navy);line-height:1.3}
.pdet__belge__tx span{font-size:.78rem;color:var(--gray)}
.pdet__belge:hover .pdet__belge__tx span{color:var(--orange)}

/* --- Katlanır bloklar --- */
.pacc{border-bottom:1px solid var(--concrete-line)}
.pacc:first-of-type{margin-top:2.2rem;border-top:1px solid var(--concrete-line)}

.pacc__t{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.05rem .2rem;cursor:pointer;list-style:none;
  font-weight:600;font-size:.98rem;color:var(--graphite);
  transition:color .2s var(--ease);
}
.pacc__t::-webkit-details-marker{display:none}   /* Safari'nin kendi üçgeni */
.pacc__t:hover{color:var(--brick)}
.pacc__t:focus-visible{outline:2px solid var(--brick);outline-offset:2px;border-radius:6px}

/* Artı/eksi işareti iki çizgiden kuruluyor; açılınca dikey olan kayboluyor. */
.pacc__t::after{
  content:"";flex:0 0 auto;width:13px;height:13px;
  background:
    linear-gradient(var(--craft),var(--craft)) center/13px 1.5px no-repeat,
    linear-gradient(var(--craft),var(--craft)) center/1.5px 13px no-repeat;
  transition:transform .25s var(--ease),background-size .25s var(--ease);
}
.pacc[open] > .pacc__t::after{
  background:linear-gradient(var(--brick),var(--brick)) center/13px 1.5px no-repeat;
  transform:rotate(180deg);
}
.pacc[open] > .pacc__t{color:var(--graphite)}

.pacc__in{padding-bottom:.4rem}
.pacc__in .dtable{margin:0 0 1rem}

@media (max-width:1080px){
  .pdet{grid-template-columns:1fr;gap:2.4rem}
}
@media (max-width:760px){
  .pdet__sec{padding-top:1.6rem}
  /* Dar ekranda şerit ana görselin ALTINA geçer; yön değişimini Swiper yapıyor
     (kit.js `direction`), CSS yalnız sırayı ve yüksekliği ayarlıyor. */
  .pdet__vis{grid-template-columns:1fr;gap:.9rem}
  /* Dar ekranda şerit ana görselin ALTINA geçer ve yatay dizilir. */
  .pdet__strip{order:2;flex-direction:row;flex-wrap:wrap;gap:.6rem}
  .pdet__heroSw{order:1}
  /* Sıra AÇIKÇA yazılır: `order` verilmeyen ızgara öğesi 0 sayılır ve şeridin
     (2) ÜSTÜNE çıkar — renk seçici ile düğmeler görselin üstünde kalırdı. */
  .pdet__colors{order:3;margin-top:.5rem}
  .pdet__cta{order:4}
  /* Dar ekranda kutu biraz daha dolgun: tam genişlikte 1:2 bir kutu ekranı tek
     başına dolduruyor. Alt sınır 0.62, ana görsel daha genişse kendi oranı. */
  .pdet__hero{aspect-ratio:max(var(--pdet-oran,.75),.62)}
  .pdet__thumb{width:78px}
  .pdet__head{gap:.9rem}
  .pdet__cert img{width:84px;height:84px}
}

/* ---------- Ürün detay: özellik ikonları bölümü ----------
   `.ficons` şeridinin bölüm hâli. Kutucuklar ürün sayfasında tek başlarına
   durduğu için biraz daha iri ve aralıklı; etiket görselin içinde olduğundan
   yanlarına yazı basılmıyor.

   Başlıksız tek satırlık bir şerit olduğu için `.ksec`in 5rem'i fazla geliyordu;
   yalnız BU bölümde daraltıldı, diğer bölümler 5rem'de kalıyor. */
.pfeat{padding:2.5rem 0}
.pfeat__list{margin:0;gap:1rem 1.6rem}
.pfeat__list img{width:104px}

@media (max-width:760px){
  .pfeat{padding:2rem 0}
  .pfeat__list{gap:.7rem 1rem}
  .pfeat__list img{width:82px}
}

/* ---------- 404 ---------- */
.nf{text-align:center}
.nf__gorsel{display:block;width:100%;max-width:440px;height:auto;margin:0 auto 1.4rem}
.nf__lead{color:var(--craft);font-size:1.05rem;margin:0 auto 2rem;max-width:52ch}
.nf__act{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin-bottom:2.6rem}
/* Aradığını bulamayan ziyaretçiye en olası hedefler */
.nf__links{
  display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.4rem;
  padding-top:1.6rem;border-top:1px solid var(--concrete-line);
}
.nf__links a{font-size:.92rem;font-weight:600;color:var(--craft);transition:color .2s var(--ease)}
.nf__links a:hover{color:var(--brick)}

/* ---------- Geniş form (teklif, bayilik, ürün detay) ----------
   Tek sütunda 620 px'e sıkışan formlar dar duruyordu. Geniş kalıpta alanlar iki
   sütuna yayılıyor; uzun olanlar (`.kform__full`) satırı tek başına kaplıyor.
   İletişim sayfasındaki form bu sınıfı ALMAZ — orası zaten iki sütunlu bir
   ızgaranın yarısı, genişletilirse harita sütununu eziyor. */
.kform--wide{
  position:static;max-width:960px;margin-inline:auto;padding:2.4rem;
}
.kform--wide .sideform__s{margin-bottom:1.6rem}
.kform__grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1.3rem}
.kform__grid > label{margin-bottom:1.05rem}
.kform__full{grid-column:1 / -1}
/* Gönder düğmesi tam genişliği kaplamasın; geniş formda orantısız duruyor. */
.kform--wide .btn--full{max-width:280px;margin-inline:auto;display:block}

@media (max-width:760px){
  .kform--wide{padding:1.5rem}
  .kform__grid{grid-template-columns:1fr;gap:0}
  .kform--wide .btn--full{max-width:none}
}

/* ---------- Sıkça Sorulan Sorular sayfası (template-sss) ----------
   Solda yapışkan yan blok (giriş + iletişim kartı), sağda numaralı akordeon.
   Akordeon kuralları `.acc--faq` ile KAPSAMLIDIR: temel `.acc` başka yerde de
   kullanılabilir, onun görünümü değişmez.

   Mobilde `.faq__side` `display:contents` olur ve çocukları ızgaranın doğrudan
   öğesine dönüşür; `order` ile sıra giriş → sorular → iletişim kartı kurulur.
   Sticky YALNIZ masaüstünde: tek sütunda yapışkan blok soruların önüne geçer. */
.faqsec{background:linear-gradient(180deg,#fff 0,#fff 55%,var(--concrete-bg) 100%)}
.faq{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:3.5rem;align-items:start}
.faq__side{position:sticky;top:110px;display:grid;gap:1.6rem}
.faq__title{font-size:clamp(1.55rem,2.4vw,2.05rem);line-height:1.2;margin:0 0 1rem;color:var(--navy)}
.faq__lead,.faq__lead p{color:var(--gray);font-size:.97rem;line-height:1.75;margin:0}
.faq__lead p + p{margin-top:.8rem}
.faq__count{
  display:inline-flex;align-items:baseline;gap:.4rem;margin:1.3rem 0 0;padding:.45rem .95rem;
  border-radius:999px;background:var(--brick-l);color:var(--brick-d);font-size:.82rem;font-weight:600;
}
.faq__count strong{font-size:1.05rem;font-weight:800}

/* İletişim kartı: koyu zemin, sayfanın tek koyu bloğu — gözü "takıldım"
   anına çeker. */
.faq__help{
  position:relative;overflow:hidden;padding:1.8rem;border-radius:16px;color:#fff;
  background:linear-gradient(145deg,var(--graphite) 0%,var(--graphite-3) 100%);
  box-shadow:var(--sh-h);
}
.faq__help::before{
  content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle,rgba(238,120,40,.35) 0%,rgba(238,120,40,0) 70%);
}
.faq__help h3{position:relative;font-size:1.2rem;margin:0 0 .45rem;color:#fff}
.faq__help > p{position:relative;margin:0 0 1.3rem;color:var(--craft-on-dark);font-size:.9rem;line-height:1.6}
.faq__acts{position:relative;display:grid;gap:.6rem}
.faq__act{
  display:flex;align-items:center;gap:.85rem;padding:.75rem .9rem;border-radius:10px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#fff;
  transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease);
}
.faq__act:hover{background:rgba(238,120,40,.16);border-color:rgba(238,120,40,.55);transform:translateX(3px)}
/* İkonlar webfont değil MASKE (ikonlar.css): maske `<i>`nin kendisine uygulanırsa
   turuncu kutu da ikon şekline kırpılır. Kutu `<i>`de maskesiz kalır, ikon
   maskesi `::after`'a taşınır. */
.faq__act i{
  flex:0 0 38px;width:38px;height:38px;border-radius:9px;position:relative;
  background:var(--brick);-webkit-mask:none;mask:none;
}
.faq__act i::after{
  content:"";position:absolute;inset:10px;background:#fff;
  -webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat;
}
.faq__act span{display:grid;min-width:0;font-weight:600;font-size:.92rem;overflow-wrap:anywhere}
.faq__act small{font-size:.72rem;font-weight:500;color:var(--craft-on-dark);letter-spacing:.02em}

/* Akordeon kartları */
.acc--faq{gap:.85rem}
.acc--faq .acc__it{
  border-radius:14px;border-color:var(--line);box-shadow:0 1px 2px rgba(44,44,44,.04);
  transition:border-color .3s var(--ease),box-shadow .3s var(--ease);
}
.acc--faq .acc__it:hover{border-color:var(--concrete);box-shadow:var(--sh)}
.acc--faq .acc__it.is-open{border-color:var(--brick);box-shadow:0 14px 36px rgba(238,120,40,.12)}
.acc--faq .acc__q{
  display:flex;align-items:center;gap:1.1rem;padding:1.25rem 1.4rem;
  font-size:1.02rem;line-height:1.45;
}
.acc--faq .acc__q::before,.acc--faq .acc__q::after{content:none}
.acc--faq .acc__q:focus-visible{outline:2px solid var(--brick);outline-offset:-2px;border-radius:14px}
.acc__no{
  flex:0 0 auto;min-width:2.4rem;font-size:.8rem;font-weight:800;letter-spacing:.06em;
  color:var(--craft-l);transition:color .3s var(--ease);
}
.acc__txt{flex:1;min-width:0}
.acc__ic{
  flex:0 0 34px;width:34px;height:34px;border-radius:50%;position:relative;
  background:var(--concrete-bg);transition:background .3s var(--ease),transform .3s var(--ease);
}
.acc__ic::before,.acc__ic::after{
  content:"";position:absolute;left:50%;top:50%;background:var(--brick);border-radius:2px;
  transform:translate(-50%,-50%);transition:transform .3s var(--ease),background .3s var(--ease);
}
.acc__ic::before{width:12px;height:2px}
.acc__ic::after{width:2px;height:12px}
.acc--faq .acc__it.is-open .acc__no{color:var(--brick)}
.acc--faq .acc__it.is-open .acc__ic{background:var(--brick);transform:rotate(180deg)}
.acc--faq .acc__it.is-open .acc__ic::before{background:#fff}
.acc--faq .acc__it.is-open .acc__ic::after{transform:translate(-50%,-50%) scaleY(0)}
/* Cevap soru metniyle aynı hizadan başlar (numara sütunu kadar içeride). */
.acc--faq .acc__body{
  margin:0 1.4rem 1.4rem calc(1.4rem + 2.4rem + 1.1rem);padding-top:1.1rem;
  border-top:1px dashed var(--line);color:#5a4d44;font-size:.95rem;line-height:1.75;
}
.acc--faq .acc__a p,.acc--faq .acc__a ul,.acc--faq .acc__a ol{padding:0;color:inherit;font-size:inherit}
.acc--faq .acc__a ul,.acc--faq .acc__a ol{padding-left:1.2rem}
.acc--faq .acc__a p + p,.acc--faq .acc__a p + ul,.acc--faq .acc__a p + ol{margin-top:.75rem}
.acc--faq .acc__a strong{color:var(--navy)}

@media (max-width:980px){
  .faq{grid-template-columns:minmax(0,1fr);gap:2rem}
  .faq__side{display:contents}
  .faq__intro{order:1}
  .faq__list{order:2}
  .faq__help{order:3}
}
@media (max-width:560px){
  .acc--faq .acc__q{gap:.75rem;padding:1.05rem 1rem;font-size:.97rem}
  .acc__no{min-width:1.7rem}
  .acc__ic{flex-basis:30px;width:30px;height:30px}
  .acc--faq .acc__body{margin:0 1rem 1.15rem;padding-top:.95rem}
  .faq__help{padding:1.4rem}
}

/* ==========================================================================
   DİL SEÇİCİ (TR / EN) — partials/lang-switcher.blade.php
   Masaüstü: üst bandın sağ ucunda, koyu zemin üstünde segmentli anahtar.
   Mobil: üst bant gizli olduğu için header satırında, burger'ın solunda.
   ========================================================================== */
.lang{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:999px;line-height:1}
.lang__opt{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:34px;height:24px;padding:0 .55rem;border-radius:999px;
  font-size:.72rem;font-weight:700;letter-spacing:.08em;text-decoration:none;
  transition:background .2s var(--ease),color .2s var(--ease);
}
.lang__opt.is-active{background:var(--brick);color:#fff;cursor:default}

.lang--koyu{margin-left:.2rem;padding-left:.7rem;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04)}
.lang__icon{flex:0 0 auto;display:block}
.lang--koyu .lang__icon{color:var(--brick);margin-right:.3rem}
.alert__links .lang--koyu a.lang__opt{color:var(--craft-on-dark);gap:0;font-weight:700}
.alert__links .lang--koyu a.lang__opt:hover{color:#fff;background:rgba(255,255,255,.1);text-decoration:none}

/* Mobil: header satırında yer dar ("Get a Quote" + burger). Segment yerine
   yalnız DİĞER dile geçiş çipi basılır; tüm çip tıklanabilir. */
.hdr__lang{display:none}
.lang--acik{
  position:relative;gap:.35rem;height:38px;padding:0 .7rem;
  border:1px solid var(--line);background:#fff;color:var(--navy);
  transition:border-color .2s var(--ease),color .2s var(--ease);
}
.lang--acik .lang__icon{color:var(--brick)}
.lang--acik .lang__opt.is-active{display:none}
.lang--acik a.lang__opt{min-width:0;height:auto;padding:0;color:inherit;font-size:.78rem}
.lang--acik a.lang__opt::after{content:"";position:absolute;inset:0;border-radius:inherit}
.lang--acik:hover{border-color:var(--brick);color:var(--brick)}

@media (max-width:760px){
  .hdr__lang{display:block;flex:0 0 auto}
}
@media (max-width:420px){
  .hdr__in{gap:.6rem}
  .hdr__cta.btn--sm{padding-left:.85rem;padding-right:.85rem;font-size:.82rem}
}
@media (prefers-reduced-motion:reduce){.lang__opt{transition:none}}
