/* moduls/website/public/assets/builder.css — Inivato Builder taban stilleri.
 * Yalnızca builder sayfalarında yüklenir. Bütün kurallar :where() ile sıfır
 * özgüllükte: sayfanın kendi CSS'i (b/<slug>.css, .ib-el-<id>) ve global
 * sınıflar (.ib-c-<id>) her zaman kazanır. Kırılım noktası içeren kural YOK:
 * kırılımlar kitten gelir, medya sorguları sayfa CSS'inde üretilir. */

:where(.ib-root) { display: block; }
:where(.ib-el) { box-sizing: border-box; min-width: 0; max-width: 100%; overflow-wrap: break-word; }
/* max-width: içeriğine göre boyutlanan öğe (dikey kapsayıcıda; harita/video en-boy oranı ×
 * yükseklik, kırılmayan uzun e-posta) kapsayıcısından taşıp sayfayı yana kaydırmasın. */

/* Konteyner: varsayılan flex sütun, 20px aralık, 10px iç boşluk.
 * Kutulu konteynerde düzen iç sarmalayıcıda (.ib-con__in). */
:where(.ib-con) { display: flex; flex-direction: column; gap: 20px; padding: 10px; position: relative; }
:where(.ib-con--boxed) { display: block; }
:where(.ib-con--boxed) > :where(.ib-con__in) {
    display: flex; flex-direction: column; gap: 20px; box-sizing: border-box;
    width: 100%; max-width: var(--ib-content-width, 1140px); margin-inline: auto;
}
:where(a.ib-con) { color: inherit; text-decoration: none; }

/* Widget'lar */
:where(.ib-w-heading) { margin: 0; }
:where(.ib-w-heading) a { color: inherit; text-decoration: none; }
:where(.ib-w-text) > :first-child { margin-top: 0; }
:where(.ib-w-text) > :last-child { margin-bottom: 0; }
:where(.ib-w-image) { margin: 0; }
:where(.ib-w-image__img) { display: block; max-width: 100%; height: auto; }
:where(.ib-w-image) figcaption { font-size: .875em; opacity: .8; margin-top: .5em; }
:where(.ib-w-button) {
    align-self: flex-start; display: inline-block; padding: var(--ib-btn-py, .75em) var(--ib-btn-px, 1.5em); border-radius: var(--ib-btn-radius, 4px);
    background: var(--ib-btn-bg, var(--ana, #2c5f7c)); color: #fff; text-decoration: none; line-height: 1.2;
    transition: background-color .2s ease, color .2s ease;
}
/* --ib-btn-*: Görünüm → Site Stilleri → Düğme (theme.css); tanımsızsa bugünkü varsayılanlar. */
:where(a.ib-w-button:hover), :where(a.ib-w-button:focus-visible) { background: var(--ib-btn-hover, var(--vurgu, #e0a03a)); }
/* Yazı rengi :where() DIŞINDA (0,1,0): sitenin genel "a { color }" kuralı (0,0,1) beyaz yazıyı ezmesin;
 * öğenin kendi rengi (.ib-el-<id>, sayfa CSS'i sonra yüklenir) yine kazanır. */
.ib-w-button, .ib-w-button:hover, .ib-w-button:focus-visible { color: var(--ib-btn-color, #fff); }
:where(.ib-w-spacer) { height: 40px; }

/* Aşama 3a widget'ları (builder/widgets.php). İkonlar çizgi SVG, rengi metin rengi. */
:where(.ib-ico) { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vertical-align: -.125em; flex: none; }
:where(.ib-w-divider) { width: 100%; margin: 0; border: 0; border-top: 1px solid #d9dde3; }
:where(.ib-w-icon) { display: inline-flex; font-size: 32px; color: var(--ana, #2c5f7c); align-self: flex-start; }
:where(.ib-w-icon) a { color: inherit; display: inline-flex; }
:where(.ib-w-iconlist) { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .5em; }
:where(.ib-il__item), :where(.ib-il__item) > a { display: flex; align-items: center; gap: .5em; color: inherit; text-decoration: none; }
:where(.ib-il__item) .ib-ico { color: var(--ana, #2c5f7c); }
:where(.ib-w-alert) { padding: 12px 16px; border-radius: 6px; border-inline-start: 4px solid; }
:where(.ib-alert--info) { background: #eef5fb; border-color: #3b82c4; }
:where(.ib-alert--success) { background: #edf8f0; border-color: #2e9d55; }
:where(.ib-alert--warning) { background: #fdf6e7; border-color: #d9930f; }
:where(.ib-alert--danger) { background: #fcefee; border-color: #d0453b; }
:where(.ib-alert__title) { display: block; margin-bottom: .25em; }
:where(.ib-alert__text) { margin: 0; }
:where(.ib-alert__text) > :first-child { margin-top: 0; }
:where(.ib-alert__text) > :last-child { margin-bottom: 0; }   /* metin editörü: bloklar */
:where(.ib-w-testimonial) { margin: 0; }
:where(.ib-tm__text) { margin: 0 0 12px; font-size: 1.1em; font-style: italic; }
:where(.ib-tm__text) p { margin: 0; }
:where(.ib-tm__text) > * + * { margin-top: .6em; }
:where(.ib-tm__by) { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
:where(.ib-tm__img) { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
:where(.ib-tm__name) { font-weight: 600; }
:where(.ib-tm__role) { opacity: .7; }
:where(.ib-w-rating) { display: inline-flex; gap: 2px; font-size: 20px; color: #f2b01e; align-self: flex-start; }
:where(.ib-star) { position: relative; display: inline-flex; }
:where(.ib-star--full) .ib-ico { fill: currentColor; }
:where(.ib-star--empty) .ib-ico { opacity: .35; }
:where(.ib-star--half) > .ib-ico { opacity: .35; }
:where(.ib-star__fill) { position: absolute; inset-block: 0; inset-inline-start: 0; width: 50%; overflow: hidden; display: flex; }
:where(.ib-star__fill) .ib-ico { fill: currentColor; opacity: 1; }
:where(.ib-w-social) { display: flex; flex-wrap: wrap; gap: 8px; }
:where(.ib-so) { display: inline-flex; align-items: center; justify-content: center; width: 2.25em; height: 2.25em; border-radius: 50%;
    color: #fff; text-decoration: none; font-weight: 700; font-size: 15px; background: #555; }
:where(.ib-so--facebook) { background: #1877f2; }
:where(.ib-so--instagram) { background: #d6249f; background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%); } :where(.ib-so--x) { background: #111; }
:where(.ib-so--youtube) { background: #e62117; } :where(.ib-so--linkedin) { background: #0a66c2; } :where(.ib-so--whatsapp) { background: #25d366; }
.ib-so, .ib-so:hover { color: #fff; }
:where(.ib-so__svg) { width: 1.2em; height: 1.2em; display: block; }
:where(.ib-so--tiktok) { background: #111; } :where(.ib-so--telegram) { background: #229ed9; } :where(.ib-so--pinterest) { background: #e60023; }
:where(.ib-w-video), :where(.ib-w-map) { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #f1f2f5; }
:where(.ib-w-map) { aspect-ratio: 16 / 10; }
:where(.ib-w-video__frame), :where(.ib-w-map__frame) { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
:where(.ib-w-accordion) { display: flex; flex-direction: column; gap: 8px; }
:where(.ib-acc__item) { border: 1px solid #e0e3e8; border-radius: 6px; background: #fff; }
:where(.ib-acc__title) { cursor: pointer; padding: 12px 16px; font-weight: 600; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
:where(.ib-acc__title)::-webkit-details-marker { display: none; }
:where(.ib-acc__title)::after { content: '+'; font-weight: 400; }
:where(.ib-acc__item[open]) > .ib-acc__title::after { content: '−'; }
:where(.ib-acc__body) { padding: 0 16px 12px; }
:where(.ib-acc__body) > :first-child { margin-top: 0; }
:where(.ib-acc__body) > :last-child { margin-bottom: 0; }
:where(.ib-w-anchor) { height: 0; scroll-margin-top: 80px; }

/* Aşama 3b (public/assets/builder.js). "ib-js" yoksa (betik çalışmadı) her şey görünür kalır. */
:where(.ib-w-counter) { display: flex; flex-direction: column; align-items: center; text-align: center; }
:where(.ib-cnt__num) { font-size: 48px; font-weight: 700; line-height: 1.1; color: var(--ana, #2c5f7c); font-variant-numeric: tabular-nums; }
:where(.ib-cnt__title) { margin-top: 4px; }
:where(.ib-pg__head) { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 6px; font-weight: 600; }
:where(.ib-pg__bar) { display: block; height: 10px; border-radius: 999px; background: #e6e9ee; overflow: hidden; }
:where(.ib-pg__fill) { display: block; height: 100%; width: 0; border-radius: inherit; background: var(--ana, #2c5f7c);
    transform-origin: left; transition: transform 1.2s ease-out; }
:where(.ib-js .ib-w-progress:not(.is-in)) .ib-pg__fill { transform: scaleX(0); }
:where(.ib-pg--0) .ib-pg__fill { width: 0%; }
:where(.ib-pg--1) .ib-pg__fill { width: 1%; }
:where(.ib-pg--2) .ib-pg__fill { width: 2%; }
:where(.ib-pg--3) .ib-pg__fill { width: 3%; }
:where(.ib-pg--4) .ib-pg__fill { width: 4%; }
:where(.ib-pg--5) .ib-pg__fill { width: 5%; }
:where(.ib-pg--6) .ib-pg__fill { width: 6%; }
:where(.ib-pg--7) .ib-pg__fill { width: 7%; }
:where(.ib-pg--8) .ib-pg__fill { width: 8%; }
:where(.ib-pg--9) .ib-pg__fill { width: 9%; }
:where(.ib-pg--10) .ib-pg__fill { width: 10%; }
:where(.ib-pg--11) .ib-pg__fill { width: 11%; }
:where(.ib-pg--12) .ib-pg__fill { width: 12%; }
:where(.ib-pg--13) .ib-pg__fill { width: 13%; }
:where(.ib-pg--14) .ib-pg__fill { width: 14%; }
:where(.ib-pg--15) .ib-pg__fill { width: 15%; }
:where(.ib-pg--16) .ib-pg__fill { width: 16%; }
:where(.ib-pg--17) .ib-pg__fill { width: 17%; }
:where(.ib-pg--18) .ib-pg__fill { width: 18%; }
:where(.ib-pg--19) .ib-pg__fill { width: 19%; }
:where(.ib-pg--20) .ib-pg__fill { width: 20%; }
:where(.ib-pg--21) .ib-pg__fill { width: 21%; }
:where(.ib-pg--22) .ib-pg__fill { width: 22%; }
:where(.ib-pg--23) .ib-pg__fill { width: 23%; }
:where(.ib-pg--24) .ib-pg__fill { width: 24%; }
:where(.ib-pg--25) .ib-pg__fill { width: 25%; }
:where(.ib-pg--26) .ib-pg__fill { width: 26%; }
:where(.ib-pg--27) .ib-pg__fill { width: 27%; }
:where(.ib-pg--28) .ib-pg__fill { width: 28%; }
:where(.ib-pg--29) .ib-pg__fill { width: 29%; }
:where(.ib-pg--30) .ib-pg__fill { width: 30%; }
:where(.ib-pg--31) .ib-pg__fill { width: 31%; }
:where(.ib-pg--32) .ib-pg__fill { width: 32%; }
:where(.ib-pg--33) .ib-pg__fill { width: 33%; }
:where(.ib-pg--34) .ib-pg__fill { width: 34%; }
:where(.ib-pg--35) .ib-pg__fill { width: 35%; }
:where(.ib-pg--36) .ib-pg__fill { width: 36%; }
:where(.ib-pg--37) .ib-pg__fill { width: 37%; }
:where(.ib-pg--38) .ib-pg__fill { width: 38%; }
:where(.ib-pg--39) .ib-pg__fill { width: 39%; }
:where(.ib-pg--40) .ib-pg__fill { width: 40%; }
:where(.ib-pg--41) .ib-pg__fill { width: 41%; }
:where(.ib-pg--42) .ib-pg__fill { width: 42%; }
:where(.ib-pg--43) .ib-pg__fill { width: 43%; }
:where(.ib-pg--44) .ib-pg__fill { width: 44%; }
:where(.ib-pg--45) .ib-pg__fill { width: 45%; }
:where(.ib-pg--46) .ib-pg__fill { width: 46%; }
:where(.ib-pg--47) .ib-pg__fill { width: 47%; }
:where(.ib-pg--48) .ib-pg__fill { width: 48%; }
:where(.ib-pg--49) .ib-pg__fill { width: 49%; }
:where(.ib-pg--50) .ib-pg__fill { width: 50%; }
:where(.ib-pg--51) .ib-pg__fill { width: 51%; }
:where(.ib-pg--52) .ib-pg__fill { width: 52%; }
:where(.ib-pg--53) .ib-pg__fill { width: 53%; }
:where(.ib-pg--54) .ib-pg__fill { width: 54%; }
:where(.ib-pg--55) .ib-pg__fill { width: 55%; }
:where(.ib-pg--56) .ib-pg__fill { width: 56%; }
:where(.ib-pg--57) .ib-pg__fill { width: 57%; }
:where(.ib-pg--58) .ib-pg__fill { width: 58%; }
:where(.ib-pg--59) .ib-pg__fill { width: 59%; }
:where(.ib-pg--60) .ib-pg__fill { width: 60%; }
:where(.ib-pg--61) .ib-pg__fill { width: 61%; }
:where(.ib-pg--62) .ib-pg__fill { width: 62%; }
:where(.ib-pg--63) .ib-pg__fill { width: 63%; }
:where(.ib-pg--64) .ib-pg__fill { width: 64%; }
:where(.ib-pg--65) .ib-pg__fill { width: 65%; }
:where(.ib-pg--66) .ib-pg__fill { width: 66%; }
:where(.ib-pg--67) .ib-pg__fill { width: 67%; }
:where(.ib-pg--68) .ib-pg__fill { width: 68%; }
:where(.ib-pg--69) .ib-pg__fill { width: 69%; }
:where(.ib-pg--70) .ib-pg__fill { width: 70%; }
:where(.ib-pg--71) .ib-pg__fill { width: 71%; }
:where(.ib-pg--72) .ib-pg__fill { width: 72%; }
:where(.ib-pg--73) .ib-pg__fill { width: 73%; }
:where(.ib-pg--74) .ib-pg__fill { width: 74%; }
:where(.ib-pg--75) .ib-pg__fill { width: 75%; }
:where(.ib-pg--76) .ib-pg__fill { width: 76%; }
:where(.ib-pg--77) .ib-pg__fill { width: 77%; }
:where(.ib-pg--78) .ib-pg__fill { width: 78%; }
:where(.ib-pg--79) .ib-pg__fill { width: 79%; }
:where(.ib-pg--80) .ib-pg__fill { width: 80%; }
:where(.ib-pg--81) .ib-pg__fill { width: 81%; }
:where(.ib-pg--82) .ib-pg__fill { width: 82%; }
:where(.ib-pg--83) .ib-pg__fill { width: 83%; }
:where(.ib-pg--84) .ib-pg__fill { width: 84%; }
:where(.ib-pg--85) .ib-pg__fill { width: 85%; }
:where(.ib-pg--86) .ib-pg__fill { width: 86%; }
:where(.ib-pg--87) .ib-pg__fill { width: 87%; }
:where(.ib-pg--88) .ib-pg__fill { width: 88%; }
:where(.ib-pg--89) .ib-pg__fill { width: 89%; }
:where(.ib-pg--90) .ib-pg__fill { width: 90%; }
:where(.ib-pg--91) .ib-pg__fill { width: 91%; }
:where(.ib-pg--92) .ib-pg__fill { width: 92%; }
:where(.ib-pg--93) .ib-pg__fill { width: 93%; }
:where(.ib-pg--94) .ib-pg__fill { width: 94%; }
:where(.ib-pg--95) .ib-pg__fill { width: 95%; }
:where(.ib-pg--96) .ib-pg__fill { width: 96%; }
:where(.ib-pg--97) .ib-pg__fill { width: 97%; }
:where(.ib-pg--98) .ib-pg__fill { width: 98%; }
:where(.ib-pg--99) .ib-pg__fill { width: 99%; }
:where(.ib-pg--100) .ib-pg__fill { width: 100%; }
:where(.ib-tabs__nav) { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 2px solid #e0e3e8; }
:where(.ib-tab__btn) { font: inherit; padding: 10px 16px; border: 0; background: none; cursor: pointer; color: inherit;
    border-bottom: 2px solid transparent; margin-bottom: -2px; opacity: .75; }
:where(.ib-tab__btn.is-active) { opacity: 1; border-bottom-color: var(--ana, #2c5f7c); font-weight: 600; }
:where(.ib-tab__panel) { padding: 16px 0; }
:where(.ib-tab__panel) > :first-child { margin-top: 0; }
:where(.ib-tab__panel) > :last-child { margin-bottom: 0; }
:where(.ib-js .ib-tab__panel:not(.is-active)) { display: none; }
:where(.ib-w-gallery) { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; }
:where(.ib-gal__item) { display: block; overflow: hidden; border-radius: 6px; aspect-ratio: 1; background: #f1f2f5; }
:where(.ib-gal__img) { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
:where(a.ib-gal__item:hover) .ib-gal__img { transform: scale(1.04); }
.ib-lb { position: fixed; inset: 0; z-index: 9999; display: none; align-items: center; justify-content: center; background: rgba(10,12,16,.92); }
.ib-lb.is-open { display: flex; }
.ib-lb-acik { overflow: hidden; }
.ib-lb__fig { margin: 0; max-width: 92vw; max-height: 88vh; display: flex; flex-direction: column; align-items: center; }
.ib-lb__img { max-width: 92vw; max-height: 82vh; object-fit: contain; }
.ib-lb__cap { color: #ddd; margin-top: 8px; text-align: center; font-size: 14px; }
.ib-lb button { position: absolute; background: rgba(255,255,255,.12); color: #fff; border: 0; border-radius: 50%; width: 44px; height: 44px; font-size: 28px; line-height: 1; cursor: pointer; }
.ib-lb__close { top: 16px; inset-inline-end: 16px; }
.ib-lb__prev { inset-inline-start: 16px; top: 50%; }
.ib-lb__next { inset-inline-end: 16px; top: 50%; }
:where(.ib-form) { display: flex; flex-direction: column; gap: 12px; }
:where(.ib-form__f) { display: flex; flex-direction: column; gap: 4px; }
:where(.ib-form__f--check) { flex-direction: row; align-items: flex-start; gap: 8px; }
:where(.ib-form) input:not([type=checkbox]), :where(.ib-form) select, :where(.ib-form) textarea {
    font: inherit; padding: 10px 12px; border: 1px solid #cfd4db; border-radius: 6px; background: #fff; width: 100%; box-sizing: border-box; }
:where(.ib-form__btn) { align-self: flex-start; font: inherit; padding: .75em 1.5em; border: 0; border-radius: 4px; background: var(--ana, #2c5f7c); color: #fff; cursor: pointer; }
:where(.ib-form__durum:empty) { display: none; }
:where(.ib-form__durum) { margin: 0; padding: 10px 12px; border-radius: 6px; background: #edf8f0; }
:where(.ib-form__durum.is-err) { background: #fcefee; }
/* Site widget'ları (Üst Bölüm / Alt Bilgi; builder/widgets.php). Yatay menü şablon menüsünün
 * sınıflarını (site.css .menu, .menu-dugme, .ust__ikon) kullanır; buradaki medya sorguları o
 * menünün 760px kırılımını izler (kitten gelmeyen tek istisna). */
:where(.ust-ib) { position: relative; }
:where(.ib-w-site-logo) { display: inline-flex; align-items: center; width: fit-content; max-width: 100%; text-decoration: none; }
.ib-w-site-logo, .ib-w-site-logo:hover { color: inherit; }
:where(.ib-logo__img) { display: block; width: auto; max-width: 100%; }
:where(.ib-logo--s) .ib-logo__img { height: 36px; }
:where(.ib-logo--m) .ib-logo__img { height: 48px; }
:where(.ib-logo--l) .ib-logo__img { height: 64px; }
:where(.ib-logo--xl) .ib-logo__img { height: 80px; }
:where(.ib-logo__ad) { font-family: var(--baslik, inherit); font-weight: 700; line-height: 1.15; }
:where(.ib-logo--s) .ib-logo__ad { font-size: 1.05rem; }
:where(.ib-logo--m) .ib-logo__ad { font-size: 1.25rem; }
:where(.ib-logo--l) .ib-logo__ad { font-size: 1.6rem; }
:where(.ib-logo--xl) .ib-logo__ad { font-size: 2rem; }
:where(.ib-nav--yatay) { display: flex; align-items: center; flex-wrap: wrap; }
:where(.ib-nav--dikey) ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .5em; }
:where(.ib-nav--dikey) ul ul { margin-top: .5em; padding-inline-start: 1em; }
:where(.ib-nav--sutun) { flex-grow: 1; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 24px; }
:where(.ib-navcol__t) { margin: 0 0 14px; font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
:where(.ib-navcol) ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
/* Bağlantılar öğenin yazı rengini alır (genel "a { color }" kuralını ezmek için :where dışında). */
.ib-nav--dikey a, .ib-navcol a, .ib-w-contact-info a { color: inherit; }
:where(.ib-nav--dikey, .ib-navcol) a { text-decoration: none; opacity: .75; transition: opacity .2s; }
:where(.ib-nav--dikey, .ib-navcol) a:hover, :where(.ib-nav--dikey, .ib-navcol) a:focus-visible, :where(.ib-nav--dikey, .ib-navcol) a[aria-current="page"] { opacity: 1; }
:where(.ib-w-contact-info) { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
:where(.ib-w-contact-info) li { display: flex; gap: 12px; align-items: flex-start; line-height: 1.5; min-width: 0; overflow-wrap: anywhere; }
:where(.ib-w-contact-info) .ib-ico { width: 18px; height: 18px; flex: none; margin-top: .2em; color: var(--vurgu, #e0a03a); }
:where(.ib-w-contact-info) a { text-decoration: none; }
:where(.ib-w-contact-info) a:hover { text-decoration: underline; }
@media (max-width: 760px) {
    /* Açılan menü üst bölümün altında tam genişlik panel: aradaki konteynerler konum kapsamı olmasın. */
    .ust-ib :where(.ib-con:has(.ib-nav--yatay:not(.ib-nav--sabit))) { position: static; }
    .js .ib-nav--yatay:not(.ib-nav--sabit) .menu { position: absolute; inset-inline: 0; top: 100%; z-index: 30; box-sizing: border-box;
        padding: 8px 16px 16px; background: var(--zemin, #fff); color: var(--metin, #1f2937); border-bottom: 1px solid var(--cizgi, #e5e7eb);
        box-shadow: 0 12px 24px -12px rgba(15, 23, 42, .25); max-height: 75vh; overflow-y: auto; }
    /* Mobilde de açık: düğme yok, masaüstündeki gibi yan yana ve açılır alt menüler. */
    .js .ib-nav--sabit .menu-dugme { display: none; }
    .js .ib-nav--sabit .menu { display: block; width: auto; padding-bottom: 0; }
    .ib-nav--sabit .menu ul.menu__liste { flex-direction: row; align-items: center; }
    .ib-nav--sabit .menu__grup { flex-wrap: nowrap; }
    .ib-nav--sabit .menu__ac:not(.menu__ac--yalniz) { width: auto; }
    .ib-nav--sabit .menu .menu__alt { position: absolute; width: auto; min-width: 200px; padding: 6px; background: var(--zemin); border: 1px solid var(--cizgi);
        box-shadow: 0 12px 30px rgba(0,0,0,.08); }
}
/* Giriş animasyonları: süre/gecikme öğenin stilinden (animation-duration/-delay). */
:where(.ib-anim) { animation-duration: .6s; animation-fill-mode: both; animation-timing-function: ease-out; }
:where(.ib-js .ib-anim:not(.is-in)) { opacity: 0; }
.ib-anim--fadeIn.is-in { animation-name: ib-fadeIn; } .ib-anim--fadeUp.is-in { animation-name: ib-fadeUp; }
.ib-anim--fadeDown.is-in { animation-name: ib-fadeDown; } .ib-anim--fadeLeft.is-in { animation-name: ib-fadeLeft; }
.ib-anim--fadeRight.is-in { animation-name: ib-fadeRight; } .ib-anim--zoomIn.is-in { animation-name: ib-zoomIn; }
@keyframes ib-fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes ib-fadeUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: none; } }
@keyframes ib-fadeDown { from { opacity: 0; transform: translateY(-30px); } to { opacity: 1; transform: none; } }
@keyframes ib-fadeLeft { from { opacity: 0; transform: translateX(30px); } to { opacity: 1; transform: none; } }
@keyframes ib-fadeRight { from { opacity: 0; transform: translateX(-30px); } to { opacity: 1; transform: none; } }
@keyframes ib-zoomIn { from { opacity: 0; transform: scale(.9); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
    .ib-anim { animation: none !important; opacity: 1 !important; }
    .ib-pg__fill { transition: none !important; }
}

/* Kaydırıcı (Slaytlar, Referans kaydırıcı; Aşama 4a). İz yatay kaydırma-yaslamalı:
 * betik yoksa da parmakla/klavyeyle kaydırılır; düğmeler ve noktalar yalnız betikle. */
:where(.ib-w-slides, .ib-w-tcarousel) { position: relative; }
:where(.ib-sl__track) { display: flex; gap: var(--ib-sl-gap, 0px); overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
    overscroll-behavior-x: contain; scrollbar-width: none; }
:where(.ib-sl__track)::-webkit-scrollbar { display: none; }
:where(.ib-sl__track):focus-visible { outline: 2px solid var(--vurgu, #e0a03a); outline-offset: 2px; }
:where(.ib-sl__slide) { position: relative; flex: 0 0 100%; min-width: 0; scroll-snap-align: start; }
:where(html:not(.ib-js)) :where(.ib-sl__nav, .ib-sl__dots) { display: none; }
/* Slaytlar: görsel kapak + ortalı yazı */
:where(.ib-w-slides) :where(.ib-sl__slide) { display: flex; align-items: center; justify-content: center; min-height: 420px; overflow: hidden;
    background: #1f2937; color: #fff; }
:where(.ib-sl__img) { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
:where(.ib-w-slides) :where(.ib-sl__slide):has(.ib-sl__img)::before { content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(15, 23, 42, .45); }
:where(.ib-sl__body) { position: relative; z-index: 2; max-width: 760px; padding: 48px 72px; text-align: center; }
:where(.ib-sl__title) { margin: 0 0 .4em; color: inherit; font-size: clamp(1.6rem, 4vw, 2.6rem); line-height: 1.2; }
:where(.ib-sl__text) { margin: 0 0 1.2em; opacity: .92; }
:where(.ib-sl__btn) { display: inline-block; padding: .75em 1.6em; border-radius: 999px; background: var(--vurgu, #e0a03a); color: #fff; font-weight: 600; text-decoration: none; }
:where(.ib-sl__btn):hover { opacity: .9; }
/* Referans kaydırıcı: aynı anda 1/2/3 kart, mobilde 1 */
:where(.ib-w-tcarousel) { --ib-sl-gap: 24px; }
:where(.ib-sl--per-2) :where(.ib-sl__slide) { flex-basis: calc((100% - var(--ib-sl-gap)) / 2); }
:where(.ib-sl--per-3) :where(.ib-sl__slide) { flex-basis: calc((100% - 2 * var(--ib-sl-gap)) / 3); }
:where(.ib-tcar__item) { display: flex; flex-direction: column; justify-content: space-between; height: 100%; margin: 0; padding: 24px;
    border: 1px solid #e5e7eb; border-radius: 12px; background: #fff; box-sizing: border-box; }
/* Düğmeler (dokunma hedefi ≥ 24px) */
:where(.ib-sl__nav) { position: absolute; z-index: 3; top: 50%; translate: 0 -50%; display: grid; place-items: center; width: 44px; height: 44px; padding: 0;
    border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); color: #111827; cursor: pointer; box-shadow: 0 2px 10px rgba(0, 0, 0, .18); }
:where(.ib-sl__nav):hover { background: #fff; }
:where(.ib-sl__nav):focus-visible, :where(.ib-sl__dot):focus-visible { outline: 2px solid var(--vurgu, #e0a03a); outline-offset: 2px; }
:where(.ib-sl__nav) svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
:where(.ib-sl__prev) { inset-inline-start: 12px; }
:where(.ib-sl__next) { inset-inline-end: 12px; }
:where([dir="rtl"]) :where(.ib-sl__prev, .ib-sl__next) svg { scale: -1 1; }
:where(.ib-w-tcarousel):has(> .ib-sl__nav, > .ib-sl__dots):not(.is-static) { padding-bottom: 48px; }   /* oklar ve noktalar kartların altında: içeriğe binmez */
/* hepsi aynı anda görünüyor (builder.js is-static): gezinme yok */
[data-ib-slider].is-static > .ib-sl__prev, [data-ib-slider].is-static > .ib-sl__next, [data-ib-slider].is-static > .ib-sl__dots { display: none; }
.ib-sl__dot[hidden] { display: none; }
:where(.ib-w-tcarousel) :where(.ib-sl__prev, .ib-sl__next) { top: auto; bottom: 4px; translate: none; width: 40px; height: 40px; }
:where(.ib-w-tcarousel) :where(.ib-sl__prev) { inset-inline-start: 0; }
:where(.ib-w-tcarousel) :where(.ib-sl__next) { inset-inline-end: 0; }
:where(.ib-w-tcarousel) :where(.ib-sl__dots) { position: absolute; inset-inline: 48px; bottom: 12px; padding: 0; }
:where(.ib-sl__play) { top: auto; bottom: 12px; translate: none; inset-inline-end: 12px; width: 36px; height: 36px; }
:where(.ib-sl__play) svg { width: 16px; height: 16px; }
:where(.ib-sl__play[aria-pressed="true"]) svg { fill: currentColor; }
:where(.ib-sl__dots) { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px; padding-top: 10px; }
:where(.ib-w-slides) :where(.ib-sl__dots) { position: absolute; z-index: 3; inset-inline: 56px; bottom: 10px; padding: 0; }
:where(.ib-sl__dot) { position: relative; width: 24px; height: 24px; padding: 0; border: 0; background: none; cursor: pointer; }
:where(.ib-sl__dot)::before { content: ""; position: absolute; inset: 7px; border-radius: 50%; background: rgba(127, 127, 127, .5); }
:where(.ib-w-slides) :where(.ib-sl__dot)::before { background: rgba(255, 255, 255, .55); }
:where(.ib-sl__dot.is-active)::before { background: var(--vurgu, #e0a03a); }
@media (max-width: 767px) {
    :where(.ib-sl--per-2, .ib-sl--per-3) :where(.ib-sl__slide) { flex-basis: 100%; }
    :where(.ib-sl__body) { padding: 40px 24px 56px; }
    :where(.ib-w-slides) :where(.ib-sl__slide) { min-height: 360px; }
    :where(.ib-sl__prev, .ib-sl__next) { width: 36px; height: 36px; }
    :where(.ib-w-slides) :where(.ib-sl__prev, .ib-sl__next) { top: auto; bottom: 8px; translate: none; }
}
@media (prefers-reduced-motion: reduce) {
    :where(.ib-sl__track) { scroll-behavior: auto; }
}
