/* ==========================================================================
   Emma — ziyaretçi sitesi
   Logonun renkleri (siyah, altın, beyaz) ve logodaki gibi kalın, düz yazı.
   ========================================================================== */

.site { --font: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; --serif: var(--font); background: #fff; font-family: var(--font); font-size: 15px; }
.site h1, .site h2, .site h3 { font-family: var(--font); font-weight: 700; letter-spacing: -0.01em; line-height: 1.2; color: var(--murekkep); }

.site .dugme { border-radius: 4px; padding: .85rem 1.5rem; font-size: .9rem; font-weight: 600; }
.site .dugme-kucuk { padding: .6rem 1rem; font-size: .84rem; }
.site .dugme-buyuk { padding: 1rem 1.8rem; font-size: .95rem; }
/* Ana düğme logonun siyahı; altın yalnız ince vurgularda (çizgi, ikon, fiyat) */
.site .dugme-koyu { background: var(--murekkep); color: #fff; }
.site .dugme-koyu:hover { background: #2a313b; }
.dugme-beyaz { background: #fff; color: var(--murekkep); }
.dugme-beyaz:hover { background: var(--kum); }
.dugme-seffaf { background: transparent; color: #fff; border-color: rgb(255 255 255 / 70%); }
.dugme-seffaf:hover { background: #fff; color: var(--murekkep); border-color: #fff; }

/* "Tümünü gör" bağlantıları küçük çerçeveli düğme olarak */
.ok-baglanti {
  display: inline-flex; align-items: center; gap: .45rem; padding: .55rem 1rem;
  border: 1px solid var(--cizgi-koyu); border-radius: 4px;
  font-size: .85rem; font-weight: 600; color: var(--murekkep); white-space: nowrap;
  transition: border-color var(--gecis), color var(--gecis);
}
.ok-baglanti:hover { border-color: var(--altin); color: var(--altin-koyu); }
.ok-baglanti .ikon { width: 15px; height: 15px; }

.ust-baslik, .etiket { display: inline-block; padding: .3rem .6rem; border-radius: 3px; background: var(--kum-2); color: var(--murekkep); font-size: .75rem; font-weight: 600; }

/* --- Üst bilgi şeridi ---------------------------------------------------- */

.ust-serit { background: var(--murekkep); color: #c9ced5; font-size: .8rem; }
.ust-serit .kap { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 40px; }
.ust-serit-grup { display: flex; align-items: center; gap: 1.6rem; }
.ust-serit a, .ust-serit span { display: inline-flex; align-items: center; gap: .45rem; }
.ust-serit a:hover { color: #fff; }
.ust-serit .ikon { width: 14px; height: 14px; color: var(--altin); }
.ust-serit .sosyal a { width: auto; height: auto; border: 0; color: #c9ced5; }
.ust-serit .sosyal a:hover { background: none; color: var(--altin); }
@media (max-width: 860px) { .ust-serit { display: none; } }

/* --- Başlık -------------------------------------------------------------- */

.ust { position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 1px solid var(--cizgi); transition: box-shadow var(--gecis); }
.ust.kaydirildi { box-shadow: 0 4px 16px rgb(21 26 33 / 6%); }
.ust-ic { display: flex; align-items: center; gap: 2rem; min-height: 96px; }

.logo { display: inline-flex; align-items: center; flex-shrink: 0; }
.logo img { height: 76px; width: auto; }
.kelime-logo { display: inline-flex; flex-direction: column; gap: .3rem; line-height: 1; }
.kelime-logo-ad { font-family: var(--font); font-size: 1.75rem; font-weight: 800; letter-spacing: .06em; color: var(--murekkep); }
.kelime-logo-ad b { font-weight: 800; color: var(--altin); }
.kelime-logo-alt { font-family: var(--font); font-size: .55rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--soluk); }

.ust-menu { display: flex; align-items: center; gap: 1.5rem; margin-left: auto; }
.ust-menu a { position: relative; padding-block: .5rem; font-size: .86rem; font-weight: 600; color: var(--murekkep); transition: color var(--gecis); }
.ust-menu a:hover, .ust-menu a[aria-current="page"] { color: var(--altin); }
.ust-menu a[aria-current="page"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: var(--altin); }
.ust-eylem { display: flex; align-items: center; gap: .8rem; }

.menu-dugme { display: none; place-items: center; width: 46px; height: 46px; border: 1px solid var(--cizgi-koyu); border-radius: 4px; background: #fff; color: var(--murekkep); cursor: pointer; }
.menu-dugme .ikon { width: 22px; height: 22px; }
.menu-dugme .kapat { display: none; }
.menu-acik .menu-dugme .ac { display: none; }
.menu-acik .menu-dugme .kapat { display: block; }
.menu-dugme-metin { display: none !important; }

/* Mobil açılır menü */
.ana-menu { display: none; }
@media (max-width: 1240px) {
  .ust-menu { display: none; }
  .ust-eylem { margin-left: auto; }
  .menu-dugme { display: grid; }
  .ana-menu { position: absolute; left: 0; right: 0; top: 100%; display: none; max-height: calc(100vh - 84px); overflow-y: auto; background: #fff; border-top: 1px solid var(--cizgi); box-shadow: 0 12px 24px rgb(21 26 33 / 10%); }
  .menu-acik .ana-menu { display: block; }
  .ana-menu-ic { padding-block: .6rem 1.4rem; }
  .ana-menu-liste a { display: block; padding: .9rem 0; border-bottom: 1px solid var(--cizgi); font-weight: 600; color: var(--murekkep); }
  .ana-menu-liste a[aria-current="page"] { color: var(--altin); }
  .ana-menu-yan { display: grid; gap: .8rem; padding-top: 1.2rem; }
  .ana-menu-yan h2 { display: none; }
  .ana-menu-iletisim { display: grid; gap: .6rem; font-size: .92rem; }
  .ana-menu-iletisim a, .ana-menu-iletisim span { display: flex; gap: .6rem; align-items: flex-start; }
  .ana-menu-iletisim .ikon { color: var(--altin); margin-top: .15rem; }
  .ana-menu-dugmeler { display: flex; flex-wrap: wrap; gap: .6rem; }
  .ana-menu .sosyal { display: none; }
}
@media (max-width: 520px) { .ust-ic { min-height: 74px; } .logo img { height: 56px; } .kelime-logo-ad { font-size: 1.45rem; } .ust-eylem .dugme { display: none; } }

/* --- Bölüm düzeni -------------------------------------------------------- */

.bolum { padding-block: clamp(56px, 7vw, 96px); }
.bolum-kum { background: var(--kum); }
.bolum:not(.bolum-kum) + .bolum:not(.bolum-kum) { padding-top: 0; }

.bolum-bas { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; margin-bottom: 2rem; }
.bolum-bas-metin { display: grid; gap: .7rem; max-width: 720px; }
.bolum-bas h2, .bolum-baslik { font-size: clamp(1.6rem, 2.6vw, 2.1rem); }
.bolum-baslik { margin-bottom: 1.6rem; }
.bolum-bas p { color: var(--soluk); }
@media (max-width: 640px) { .bolum-bas { flex-direction: column; align-items: flex-start; } }

/* --- Vitrin (ana sayfa) -------------------------------------------------- */

.vitrin { position: relative; isolation: isolate; display: flex; align-items: center; min-height: clamp(520px, 76vh, 760px); color: #fff; background: var(--murekkep); overflow: hidden; }
.vitrin > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.vitrin::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgb(21 26 33 / 68%) 0%, rgb(21 26 33 / 38%) 50%, rgb(21 26 33 / 10%) 100%); }
.vitrin-icerik { display: grid; gap: 1.3rem; max-width: 680px; padding-block: 72px 120px; }
.vitrin h1 { font-size: clamp(2.4rem, 5vw, 4rem); font-weight: 800; line-height: 1.1; color: #fff; }
.vitrin p { font-size: 1.05rem; color: rgb(255 255 255 / 90%); max-width: 52ch; }
.vitrin-dugmeler { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: .4rem; }
.vitrin.bos { background: var(--murekkep); }
.vitrin.bos::after { display: none; }

/* Vitrinin altına binen arama kutusu */
.arama-serit { position: relative; z-index: 2; margin-top: -64px; }
.arama { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 1rem; align-items: end; padding: 1.4rem; background: #fff; border-radius: 6px; box-shadow: 0 16px 40px rgb(21 26 33 / 12%); }
.arama-baslik { display: none; }
.arama .alan > label { font-size: .78rem; font-weight: 600; color: var(--soluk); }
.arama .dugme { height: 48px; }
@media (max-width: 860px) { .arama { grid-template-columns: 1fr 1fr; } .arama .dugme { grid-column: 1 / -1; } }
@media (max-width: 520px) { .arama { grid-template-columns: 1fr; } }

/* --- Hizmetler ----------------------------------------------------------- */

.hizmet-izgara { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.hizmet { display: grid; gap: .6rem; align-content: start; padding: 1.8rem 1.6rem; background: #fff; border: 1px solid var(--cizgi); border-top: 3px solid var(--altin); border-radius: 4px; transition: box-shadow var(--gecis); }
.hizmet:hover { box-shadow: 0 10px 28px rgb(21 26 33 / 8%); }
.hizmet h3 { font-size: 1.1rem; }
.hizmet p { font-size: .9rem; color: var(--soluk); }
.hizmet span { margin-top: .4rem; font-size: .85rem; font-weight: 600; color: var(--altin-koyu); }
@media (max-width: 980px) { .hizmet-izgara { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .hizmet-izgara { grid-template-columns: 1fr; } }

/* Süreç adımları: numarasız kutular */
.surec-izgara { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 1100px) { .surec-izgara { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .surec-izgara { grid-template-columns: 1fr; } }

/* --- Hakkımızda bloğu ---------------------------------------------------- */

.tanitim { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 72px); align-items: center; }
.tanitim-gorsel { aspect-ratio: 4 / 3; overflow: hidden; border-radius: 6px; background: var(--kum-2); }
.tanitim-gorsel img { width: 100%; height: 100%; object-fit: cover; }
.tanitim-metin { display: grid; gap: 1rem; }
.tanitim-metin h2 { font-size: clamp(1.6rem, 2.6vw, 2.1rem); }
.tanitim-metin .icerik { color: var(--metin); }
.tanitim-metin .dugme { justify-self: start; margin-top: .4rem; }
.tanitim.tek { grid-template-columns: 1fr; max-width: 820px; }
@media (max-width: 860px) { .tanitim { grid-template-columns: 1fr; } }

/* --- İlan kartı ---------------------------------------------------------- */

.kart-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 24px; }
.kart-izgara.genis { grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr)); }

.ilan-kart { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--cizgi); border-radius: 6px; overflow: hidden; transition: box-shadow var(--gecis); }
.ilan-kart:hover { box-shadow: 0 12px 30px rgb(21 26 33 / 10%); }
.ilan-kart-gorsel { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--kum-2); }
.ilan-kart-gorsel img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.ilan-kart:hover .ilan-kart-gorsel img { transform: scale(1.04); }
.ilan-kart-rozetler { position: absolute; top: 12px; left: 12px; right: 12px; display: flex; justify-content: space-between; gap: .4rem; }
.ilan-kart-rozetler .rozet { border-radius: 3px; padding: .4rem .65rem; font-size: .75rem; font-weight: 700; }
.ilan-kart-rozetler .rozet .ikon { display: none; }
.rozet-satilik { background: var(--murekkep); color: #fff; }
.rozet-kiralik { background: #fff; color: var(--murekkep); }
.rozet-rezerve { background: #fff; color: #b45309; }
.rozet-kapandi { background: #eceef1; color: #565d66; }
.rozet-beyaz { background: #fff; color: var(--murekkep); }
.ilan-kart-govde { display: grid; gap: .5rem; padding: 1.1rem 1.2rem .9rem; flex: 1; align-content: start; }
.ilan-kart-konum { display: flex; align-items: center; gap: .35rem; font-size: .82rem; color: var(--soluk); }
.ilan-kart-konum .ikon { width: 15px; height: 15px; color: var(--altin); stroke-width: 2; }
.ilan-kart h3 { font-size: 1.05rem; font-weight: 700; line-height: 1.35; }
.ilan-kart h3 a::after { content: ""; position: absolute; inset: 0; }
.ozet-ozellik { display: flex; flex-wrap: wrap; gap: .4rem 1rem; padding-top: .7rem; margin-top: .2rem; border-top: 1px solid var(--cizgi); font-size: .82rem; color: var(--metin); }
.ozet-ozellik li { display: inline-flex; align-items: center; gap: .35rem; }
.ozet-ozellik .ikon { width: 16px; height: 16px; color: var(--altin); stroke-width: 2; }
.ilan-kart-alt { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1.2rem; border-top: 1px solid var(--cizgi); background: #f8f9fa; }
.fiyat { font-size: 1.15rem; font-weight: 800; color: var(--altin-koyu); }
.fiyat-yok { font-size: .88rem; font-weight: 600; color: var(--soluk); }
.yuvarlak-ok { font-size: .82rem; font-weight: 600; color: var(--murekkep); }
.yuvarlak-ok .ikon { display: none; }
.yuvarlak-ok::before { content: "Detay"; }
.ilan-kart.kapandi .ilan-kart-gorsel img { filter: grayscale(.7); }

/* --- Yapı sistemleri ----------------------------------------------------- */

.sistem-izgara { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.sistem-kart { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--cizgi); border-radius: 6px; overflow: hidden; }
.sistem-kart-gorsel { aspect-ratio: 16 / 10; overflow: hidden; background: var(--kum-2); }
.sistem-kart-gorsel img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.sistem-kart:hover .sistem-kart-gorsel img { transform: scale(1.04); }
.sistem-kart-govde { display: grid; gap: .6rem; padding: 1.3rem 1.4rem 1.5rem; }
.sistem-kart h3 { font-size: 1.2rem; }
.sistem-kart p { font-size: .92rem; color: var(--soluk); }
.sistem-kart .ok-baglanti { justify-self: start; margin-top: .4rem; }
.sistem-kart .ok-baglanti::after { content: ""; position: absolute; inset: 0; }
.sistem-kart-yalin { padding: 0; border-top: 3px solid var(--altin); }
.sistem-kart-ikon, .sistem-no { display: none; }
@media (max-width: 900px) { .sistem-izgara { grid-template-columns: 1fr; } }

/* --- Süreç --------------------------------------------------------------- */

.adimlar { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.adimlar li { display: grid; gap: .6rem; align-content: start; padding: 1.5rem 1.3rem; background: #fff; border: 1px solid var(--cizgi); border-radius: 4px; }
.adimlar .sira { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--murekkep); color: #fff; font-weight: 700; font-size: .95rem; }
.adimlar strong { display: block; font-size: 1rem; color: var(--murekkep); margin-bottom: .3rem; }
.adimlar span { font-size: .88rem; color: var(--soluk); }
@media (max-width: 1100px) { .adimlar { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .adimlar { grid-template-columns: 1fr; } }

/* --- Proje kartı --------------------------------------------------------- */

.proje-izgara { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 980px) { .proje-izgara { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .proje-izgara { grid-template-columns: 1fr; } }
.proje-kart { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--cizgi); border-radius: 6px; overflow: hidden; transition: box-shadow var(--gecis); }
.proje-kart:hover { box-shadow: 0 12px 30px rgb(21 26 33 / 10%); }
.proje-kart-gorsel { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--kum-2); }
.proje-kart-gorsel img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.proje-kart:hover .proje-kart-gorsel img { transform: scale(1.04); }
.proje-kart-gorsel .rozet { position: absolute; top: 12px; left: 12px; border-radius: 3px; background: var(--murekkep); color: #fff; font-size: .75rem; font-weight: 700; }
.proje-kart h3 { padding: 1.1rem 1.2rem 0; font-size: 1.05rem; }
.proje-kart h3 a::after { content: ""; position: absolute; inset: 0; }
.proje-kart-meta { display: flex; flex-wrap: wrap; gap: .35rem 1rem; padding: .6rem 1.2rem 1.2rem; font-size: .82rem; color: var(--soluk); }
.proje-kart-meta span { display: inline-flex; align-items: center; gap: .35rem; }
.proje-kart-meta .ikon { width: 15px; height: 15px; color: var(--altin); stroke-width: 2; }

/* --- Çağrı şeridi -------------------------------------------------------- */

.cagri-serit { background: var(--murekkep); color: #cdd2d8; }
.cagri-serit .kap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: 40px; }
.cagri-serit h2 { color: #fff; font-size: clamp(1.3rem, 2.2vw, 1.7rem); }
.cagri-serit p { margin-top: .4rem; }
.cagri-dugmeler { display: flex; flex-wrap: wrap; gap: .7rem; }

/* --- Sayfa başlığı şeridi ------------------------------------------------ */

.sayfa-baslik { background: var(--murekkep); color: #c9ced5; }
.sayfa-baslik .kap { display: grid; gap: .6rem; padding-block: 44px; }
.sayfa-baslik h1 { color: #fff; font-size: clamp(1.8rem, 3.4vw, 2.6rem); }
.sayfa-baslik p { max-width: 70ch; color: #c9ced5; }
.sayfa-baslik .kirinti { color: #9aa1ab; }
.sayfa-baslik .kirinti a:hover, .sayfa-baslik .kirinti [aria-current] { color: var(--altin); }

.kirinti { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; font-size: .82rem; color: var(--soluk); }
.kirinti a:hover { color: var(--murekkep); }
.kirinti .ikon { width: 13px; height: 13px; opacity: .6; }
.kirinti [aria-current] { color: var(--murekkep); font-weight: 500; }

/* --- Liste ve filtre ----------------------------------------------------- */

.filtre-serit { background: var(--kum); border-bottom: 1px solid var(--cizgi); }
.filtre { display: flex; flex-wrap: wrap; align-items: end; gap: 1rem; padding-block: 22px; }
.filtre .alan { flex: 1 1 170px; }
.filtre .alan > label { font-size: .78rem; font-weight: 600; color: var(--soluk); }
.filtre-dugmeler { display: flex; gap: .5rem; }
.filtre-serit + .bolum { padding-top: 40px; }

.sekmeler { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.6rem; }
.sekme { padding: .55rem 1.1rem; border: 1px solid var(--cizgi-koyu); border-radius: 4px; font-size: .86rem; font-weight: 600; color: var(--metin); background: #fff; }
.sekme:hover { border-color: var(--altin); color: var(--altin-koyu); }
.sekme[aria-current="page"] { background: var(--murekkep); border-color: var(--murekkep); color: #fff; }

.sayfalama { display: flex; justify-content: center; flex-wrap: wrap; gap: .4rem; margin-top: 3rem; }
.sayfalama a, .sayfalama span { min-width: 42px; height: 42px; padding-inline: .7rem; display: grid; place-items: center; border: 1px solid var(--cizgi-koyu); border-radius: 4px; font-weight: 600; font-size: .9rem; }
.sayfalama a:hover { border-color: var(--altin); }
.sayfalama [aria-current] { background: var(--murekkep); color: #fff; border-color: var(--murekkep); }

.bos-durum { display: grid; justify-items: center; gap: .9rem; text-align: center; padding: clamp(40px, 6vw, 72px) 1.5rem; border: 1px dashed var(--cizgi-koyu); border-radius: 6px; }
.bos-durum-ikon { display: none; }
.bos-durum h2, .bos-durum h3 { font-size: 1.3rem; }
.bos-durum p { color: var(--soluk); max-width: 46ch; }
.sonuc-dugmeler { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-top: .4rem; }

/* --- İlan detayı --------------------------------------------------------- */

.detay-bas { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1.5rem; padding-block: 28px 24px; }
.detay-bas-metin { display: grid; gap: .7rem; }
.detay-bas h1 { font-size: clamp(1.7rem, 3.2vw, 2.4rem); }
.detay-rozetler { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.detay-rozetler .rozet { border-radius: 3px; font-size: .75rem; font-weight: 700; }
.detay-konum { display: inline-flex; align-items: center; gap: .4rem; color: var(--soluk); }
.detay-konum .ikon { width: 16px; height: 16px; color: var(--altin); stroke-width: 2; }

.ozellik-serit { display: flex; flex-wrap: wrap; gap: .6rem; }
.ozellik-serit li { display: inline-flex; align-items: center; gap: .5rem; padding: .6rem .9rem; border: 1px solid var(--cizgi); border-radius: 4px; font-size: .88rem; font-weight: 600; color: var(--murekkep); }
.ozellik-serit .ikon { width: 18px; height: 18px; color: var(--altin); stroke-width: 2; }

.galeri-kap { position: relative; }
.galeri { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 8px; height: clamp(320px, 42vw, 560px); border-radius: 6px; overflow: hidden; }
.galeri-oge { position: relative; display: block; overflow: hidden; background: var(--kum-2); }
.galeri-oge:nth-child(1) { grid-row: 1 / 3; }
.galeri-oge:nth-child(2) { grid-column: 2 / 4; }
.galeri-oge img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.galeri-oge:hover img { transform: scale(1.03); }
.galeri-daha { position: absolute; inset: 0; display: grid; place-items: center; background: rgb(21 26 33 / 50%); color: #fff; font-weight: 700; }
.galeri-tum { position: absolute; left: 16px; bottom: 16px; z-index: 1; background: #fff; color: var(--murekkep); }
.galeri[data-adet="1"] { grid-template-columns: 1fr; grid-template-rows: 1fr; }
.galeri[data-adet="2"] { grid-template-columns: 2fr 1fr; grid-template-rows: 1fr; }
.galeri[data-adet="2"] .galeri-oge:nth-child(1) { grid-row: auto; }
.galeri[data-adet="2"] .galeri-oge:nth-child(2) { grid-column: auto; }
.galeri[data-adet="3"] { grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; }
.galeri[data-adet="3"] .galeri-oge:nth-child(2) { grid-column: auto; }
@media (max-width: 760px) {
  .galeri, .galeri[data-adet] { display: flex; height: auto; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; border-radius: 6px; }
  .galeri::-webkit-scrollbar { display: none; }
  .galeri-oge { flex: 0 0 86%; aspect-ratio: 4 / 3; scroll-snap-align: start; border-radius: 6px; }
  .galeri-oge:only-child { flex-basis: 100%; }
  .galeri-daha { display: none; }
}

.detay-duzen { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: clamp(28px, 4vw, 48px); align-items: start; padding-block: 36px clamp(56px, 7vw, 88px); }
.detay-blok { padding-bottom: 2rem; margin-bottom: 2rem; border-bottom: 1px solid var(--cizgi); }
.detay-blok:last-child { border-bottom: 0; margin-bottom: 0; }
.detay-blok > h2 { font-size: 1.25rem; margin-bottom: 1rem; }

.ozellik-listesi { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: .7rem 1.2rem; }
.ozellik-listesi li { display: flex; align-items: center; gap: .55rem; font-size: .92rem; }
.ozellik-listesi .ikon { width: 18px; height: 18px; color: var(--altin); stroke-width: 2.5; }

.bilgi-tablo { display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid var(--cizgi); border-radius: 4px; overflow: hidden; }
.bilgi-tablo div { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; border-bottom: 1px solid var(--cizgi); font-size: .9rem; }
.bilgi-tablo div:nth-child(odd) { border-right: 1px solid var(--cizgi); background: #f8f9fa; }
.bilgi-tablo dt { color: var(--soluk); }
.bilgi-tablo dd { margin: 0; font-weight: 600; color: var(--murekkep); text-align: right; }
@media (max-width: 600px) { .bilgi-tablo { grid-template-columns: 1fr; } .bilgi-tablo div:nth-child(odd) { border-right: 0; } }

.harita { width: 100%; aspect-ratio: 16 / 8; border: 0; border-radius: 6px; background: var(--kum-2); }
.harita-alt { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: .8rem; font-size: .88rem; color: var(--soluk); }

.yan-sutun { position: sticky; top: 104px; display: grid; gap: 14px; }
.fiyat-kart { display: grid; gap: 1rem; padding: 1.5rem; border: 1px solid var(--cizgi); border-top: 3px solid var(--altin); border-radius: 4px; background: #fff; }
.fiyat-kart .fiyat { display: block; font-size: 1.8rem; }
.fiyat-kart .fiyat-yok { display: block; font-size: 1.15rem; font-weight: 700; color: var(--murekkep); }
.fiyat-kart small { display: block; margin-top: .3rem; font-size: .82rem; color: var(--soluk); }
.fiyat-kart .dugme { width: 100%; }
.bilgi-kart { display: grid; padding: 1.2rem 1.5rem; border: 1px solid var(--cizgi); border-radius: 4px; margin: 0; }
@media (max-width: 980px) { .detay-duzen { grid-template-columns: 1fr; } .yan-sutun { position: static; } }

.alt-eylem { display: none; }
@media (max-width: 980px) {
  .alt-eylem { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; padding: .7rem 16px calc(.7rem + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--cizgi); }
  .alt-eylem-var .wa-yuzen { display: none; }
  .alt-eylem-var .alt { padding-bottom: 80px; }
}

.bilgi-listesi { display: grid; margin: 0; }
.bilgi-listesi div { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--cizgi); font-size: .9rem; }
.bilgi-listesi div:last-child { border-bottom: 0; }
.bilgi-listesi dt { color: var(--soluk); }
.bilgi-listesi dd { margin: 0; font-weight: 600; color: var(--murekkep); text-align: right; }
.bilgi-listesi a:hover { color: var(--altin-koyu); }

/* --- Işık kutusu --------------------------------------------------------- */

.isik-kutusu { width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgb(21 26 33 / 94%); color: #fff; }
.isik-kutusu::backdrop { background: rgb(21 26 33 / 80%); }
.isik-kutusu-ic { position: relative; display: grid; place-items: center; width: 100%; height: 100%; padding: 64px 80px; }
.isik-kutusu img { max-width: 100%; max-height: 100%; object-fit: contain; }
.isik-kutusu button { position: absolute; display: grid; place-items: center; width: 48px; height: 48px; border: 0; border-radius: 4px; background: rgb(255 255 255 / 12%); color: #fff; cursor: pointer; }
.isik-kutusu button:hover { background: rgb(255 255 255 / 25%); }
.isik-kutusu .ikon { width: 22px; height: 22px; }
.isik-kapat { top: 16px; right: 16px; }
.isik-onceki { left: 16px; top: 50%; translate: 0 -50%; }
.isik-sonraki { right: 16px; top: 50%; translate: 0 -50%; }
.isik-sayac { position: absolute; top: 28px; left: 50%; translate: -50% 0; font-size: .9rem; color: rgb(255 255 255 / 75%); }
@media (max-width: 600px) { .isik-kutusu-ic { padding: 64px 8px; } .isik-onceki, .isik-sonraki { top: auto; bottom: 16px; translate: none; } .isik-onceki { left: calc(50% - 60px); } .isik-sonraki { right: calc(50% - 60px); } }

/* --- Metin içeriği ------------------------------------------------------- */

.icerik { font-size: 1rem; line-height: 1.75; color: var(--metin); }
.icerik > * + * { margin-top: 1em; }
.icerik h2 { font-size: 1.3rem; margin-top: 1.6em; }
.icerik h3 { font-size: 1.1rem; margin-top: 1.4em; }
.icerik ul { padding-left: 0; list-style: none; display: grid; gap: .45rem; }
.icerik li { position: relative; padding-left: 1.3rem; }
.icerik li::before { content: ""; position: absolute; left: 0; top: .7em; width: 7px; height: 7px; border-radius: 1px; background: var(--altin); }
.icerik-dar { max-width: 820px; }

.icerik-duzen { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(32px, 5vw, 64px); align-items: start; }
.icerik-duzen > aside { position: sticky; top: 104px; display: grid; gap: 14px; }
.icerik-duzen > aside img { width: 100%; border-radius: 6px; }
@media (max-width: 980px) { .icerik-duzen { grid-template-columns: 1fr; } .icerik-duzen > aside { position: static; } }

.yan-kart { display: grid; gap: 1rem; padding: 1.5rem; border: 1px solid var(--cizgi); border-top: 3px solid var(--altin); border-radius: 4px; background: #fff; }
.yan-kart h2 { font-size: 1.2rem; }
.yan-kart p { font-size: .92rem; color: var(--soluk); }
.yan-kart .dugme { width: 100%; }

/* --- Formlar ------------------------------------------------------------- */

.form-duzen { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .9fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
.form-kart { display: grid; gap: 1.1rem; padding: clamp(22px, 3vw, 32px); border: 1px solid var(--cizgi); border-top: 3px solid var(--altin); border-radius: 4px; background: #fff; }
.form-kart h2 { font-size: 1.3rem; }
.form-kart .girdi { border-radius: 4px; }
.form-izgara { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.form-izgara .tam { grid-column: 1 / -1; }
.bal-kupu { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 900px) { .form-duzen { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .form-izgara { grid-template-columns: 1fr; } }

.baglam-kart { display: grid; grid-template-columns: 80px 1fr; gap: .9rem; align-items: center; padding: .6rem; border: 1px solid var(--cizgi); border-radius: 4px; background: #f8f9fa; }
.baglam-kart-gorsel { aspect-ratio: 1; overflow: hidden; border-radius: 3px; }
.baglam-kart-gorsel img { width: 100%; height: 100%; object-fit: cover; }
.baglam-kart small { display: block; font-size: .78rem; color: var(--soluk); }
.baglam-kart strong { display: block; font-weight: 700; color: var(--murekkep); line-height: 1.3; }

.iletisim-listesi { display: grid; gap: .7rem; }
.iletisim-oge { display: flex; gap: .9rem; align-items: center; padding: 1rem 1.1rem; border: 1px solid var(--cizgi); border-radius: 4px; background: #fff; }
a.iletisim-oge:hover { border-color: var(--altin); }
.iletisim-oge .ikon-kutu { width: 42px; height: 42px; flex-shrink: 0; display: grid; place-items: center; border-radius: 4px; background: var(--murekkep); color: var(--altin); }
.iletisim-oge .ikon-kutu .ikon { width: 19px; height: 19px; stroke-width: 2; }
.iletisim-oge small { display: block; font-size: .78rem; color: var(--soluk); }
.iletisim-oge strong { font-size: .95rem; font-weight: 700; color: var(--murekkep); word-break: break-word; }
.iletisim-harita { width: 100%; aspect-ratio: 4 / 3; border: 0; border-radius: 6px; margin-top: .6rem; }

.iletisim-duzen { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
.iletisim-bilgi { display: grid; gap: 1.2rem; }
.iletisim-bilgi h2 { font-size: 1.5rem; }
.iletisim-telefon { font-size: clamp(1.4rem, 2.4vw, 1.9rem); font-weight: 800; color: var(--altin-koyu); }
@media (max-width: 900px) { .iletisim-duzen { grid-template-columns: 1fr; } }

.sonuc-kart { display: grid; justify-items: center; gap: 1rem; max-width: 600px; margin-inline: auto; padding: clamp(32px, 5vw, 48px); text-align: center; border: 1px solid var(--cizgi); border-top: 3px solid var(--altin); border-radius: 4px; }
.sonuc-ikon { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 50%; background: var(--murekkep); color: var(--altin); }
.sonuc-ikon .ikon { width: 30px; height: 30px; stroke-width: 2.5; }
.sonuc-kart h1 { font-size: 1.7rem; }
.sonuc-kart p { color: var(--soluk); }

/* --- Yapı sistemi ve proje sayfaları ------------------------------------- */

.sistem-satir { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 64px); align-items: center; padding: 0; }
.sistem-satir + .sistem-satir { margin-top: clamp(48px, 6vw, 80px); }
.sistem-satir:nth-child(even) .sistem-satir-gorsel { order: 2; }
.sistem-satir-gorsel { aspect-ratio: 16 / 11; overflow: hidden; border-radius: 6px; background: var(--kum-2); }
.sistem-satir-gorsel img { width: 100%; height: 100%; object-fit: cover; }
.sistem-satir-metin { display: grid; gap: 1rem; }
.sistem-satir-metin h2 { font-size: clamp(1.5rem, 2.4vw, 1.9rem); }
.sistem-satir-metin p { color: var(--soluk); }
.sistem-satir-yalin { grid-template-columns: 1fr; padding: 1.8rem; border: 1px solid var(--cizgi); border-top: 3px solid var(--altin); border-radius: 4px; }
.sistem-satir-yalin + .sistem-satir-yalin { margin-top: 16px; }
.giris-dugmeler { display: flex; flex-wrap: wrap; gap: .6rem; }
@media (max-width: 860px) { .sistem-satir { grid-template-columns: 1fr; } .sistem-satir:nth-child(even) .sistem-satir-gorsel { order: 0; } }

.once-sonra { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.once-sonra figure { position: relative; margin: 0; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 6px; background: var(--kum-2); }
.once-sonra img { width: 100%; height: 100%; object-fit: cover; }
.once-sonra figcaption { position: absolute; top: 12px; left: 12px; border-radius: 3px; background: var(--murekkep); color: #fff; font-size: .75rem; font-weight: 700; }
@media (max-width: 600px) { .once-sonra { grid-template-columns: 1fr; } }

.foto-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
.foto-izgara a { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 6px; background: var(--kum-2); }
.foto-izgara img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.foto-izgara a:hover img { transform: scale(1.04); }
.foto-izgara figcaption, .once-sonra-not { position: absolute; left: 0; right: 0; bottom: 0; padding: .6rem .8rem; font-size: .8rem; color: #fff; background: linear-gradient(transparent, rgb(21 26 33 / 65%)); }

.video-kap { aspect-ratio: 16 / 9; overflow: hidden; border-radius: 6px; background: #000; }
.video-kap iframe { width: 100%; height: 100%; border: 0; }

.hakkimizda-hizmetler { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.hakkimizda-hizmetler a { display: grid; gap: .5rem; align-content: start; padding: 1.6rem; border: 1px solid var(--cizgi); border-top: 3px solid var(--altin); border-radius: 4px; }
.hakkimizda-hizmetler a:hover { box-shadow: 0 10px 28px rgb(21 26 33 / 8%); }
.hakkimizda-hizmetler .ikon { display: none; }
.hakkimizda-hizmetler strong { font-size: 1.05rem; color: var(--murekkep); }
.hakkimizda-hizmetler span { font-size: .9rem; color: var(--soluk); }
@media (max-width: 980px) { .hakkimizda-hizmetler { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .hakkimizda-hizmetler { grid-template-columns: 1fr; } }

/* --- Alt bilgi ----------------------------------------------------------- */

.alt { background: var(--murekkep); color: #a2a9b2; padding-top: clamp(48px, 6vw, 72px); font-size: .9rem; }
.alt-izgara { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.3fr; gap: clamp(28px, 4vw, 56px); padding-bottom: 2.8rem; }
.alt-marka { display: grid; gap: 1rem; align-content: start; }
.alt-marka p { max-width: 34ch; }
.alt .logo img { height: 120px; }
.alt .kelime-logo-ad { color: #fff; }
.alt .kelime-logo-alt { color: #a2a9b2; }
.alt h2 { font-family: var(--font); font-size: .95rem; font-weight: 700; color: #fff; margin-bottom: 1rem; padding-bottom: .7rem; border-bottom: 2px solid var(--altin); display: inline-block; }
.alt-liste { display: grid; gap: .6rem; }
.alt-liste a { transition: color var(--gecis); }
.alt-liste a:hover { color: var(--altin); }
.alt-iletisim li { display: flex; gap: .6rem; align-items: flex-start; }
.alt-iletisim .ikon { margin-top: .15rem; color: var(--altin); }
.sosyal { display: flex; gap: .5rem; }
.sosyal a { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 4px; background: rgb(255 255 255 / 8%); color: #fff; transition: background var(--gecis); }
.sosyal a:hover { background: var(--altin); }
.sosyal .ikon { width: 16px; height: 16px; }
.alt-taban { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding-block: 1.3rem; border-top: 1px solid rgb(255 255 255 / 10%); font-size: .82rem; }
.alt-taban nav { display: flex; flex-wrap: wrap; gap: 1.4rem; }
.alt-taban a:hover { color: var(--altin); }
@media (max-width: 980px) { .alt-izgara { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .alt-izgara { grid-template-columns: 1fr; } }

.wa-yuzen { position: fixed; right: 20px; bottom: 20px; z-index: 40; width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; background: #25d366; color: #fff; box-shadow: 0 6px 18px rgb(21 26 33 / 20%); transition: transform var(--gecis); }
.wa-yuzen:hover { transform: scale(1.06); }
.wa-yuzen .ikon { width: 28px; height: 28px; }

/* --- Hata sayfası -------------------------------------------------------- */

.hata-sayfa { display: grid; place-items: center; min-height: 60vh; text-align: center; padding-block: 80px; }
.hata-kod { font-size: clamp(5rem, 14vw, 8rem); font-weight: 800; line-height: 1; color: var(--altin); }
.hata-sayfa h1 { font-size: 1.6rem; margin-block: .6rem; }
.hata-sayfa p { color: var(--soluk); margin-bottom: 1.6rem; }
