/* 3D hero: fotoğraflı hero'nun yerine açık zeminde kendi kendine dönen sonsuz plaka şeridi (bkz. hero-3d.js).
   Yalnızca hero-3d.js WebGL'i başlatıp <html>'e .ca-hero3d eklediğinde devreye girer; aksi halde orijinal hero kalır. */
:root{
  --ca-hero3d-surface:#f4f2ee;
  --ca-hero3d-surface-deep:#e8e5de;
  --ca-hero3d-ink:#161513;
}

html.ca-hero3d section:has(img[alt^="Bedroom"]){
  background:radial-gradient(120% 90% at 58% 46%,#fff 0%,var(--ca-hero3d-surface) 55%,var(--ca-hero3d-surface-deep) 100%);
}
html.ca-hero3d img[alt^="Bedroom"]{visibility:hidden!important}
html.ca-hero3d section:has(img[alt^="Bedroom"]) h1 div::after{content:none!important}
html.ca-hero3d section:has(img[alt^="Bedroom"]) h1>span{color:var(--ca-hero3d-ink)!important}

/* Mobilde alttaki kelime, sabit dil butonunun (.ca-lang-fixed, bottom:186-196px) altında kalmasın */
@media (max-width:767px){
  html.ca-hero3d section:has(img[alt^="Bedroom"]) h1>span:last-of-type{bottom:240px!important}
  /* RU kelimeleri uzun: ca-ru-hero-fit'in 32px'ini, React sınıfı sildikten sonra da geçerli kılar */
  html[lang="ru"] section:has(img[alt^="Bedroom"]) h1>span{font-size:32px!important;white-space:nowrap}
}

/* yazılar (z-index 2-3) her zaman objenin üstünde kalır */
.ca-hero3d-canvas{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;pointer-events:none;
  opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1)}
.ca-hero3d-canvas.is-ready{opacity:1}
@media (prefers-reduced-motion:reduce){.ca-hero3d-canvas{transition:none}}

/* Diğer açık zeminli sayfalardaki gibi: header hero'nun üstündeyken exclusion ile koyulaşır */
html.ca-hero-light header,
html.ca-hero-light .ca-hd-burger:not(.open){mix-blend-mode:exclusion}
