/* ===== Floating Shortcuts / Menu Builder - Frontend v4 ===== */
.fsb-bar, .fsb-bar *, .fsb-modal, .fsb-modal * { box-sizing: border-box; }
.fsb-bar {
    position: fixed; z-index: 2147483000;
    display: flex; align-items: center; gap: var(--fsb-gap, 14px);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    animation: fsb-bar-in .5s cubic-bezier(.34,1.4,.5,1) both;
}
@keyframes fsb-bar-in { from { opacity: 0; transform: scale(.85); } to { opacity: 1; } }
/* orta konumlarda giriş animasyonu transform'u ezmesin */
.fsb-bar.fsb-pos-center, .fsb-bar.fsb-pos-center-left, .fsb-bar.fsb-pos-center-right { animation: fsb-fade-in .5s ease both; }
/* Cihaz görünürlüğü: masaüstünde "sadece mobil" olanı gizle */
.fsb-bar.fsb-only-mobile { display: none !important; }
@keyframes fsb-fade-in { from { opacity: 0; } to { opacity: 1; } }
.fsb-bar.fsb-theme-font { font-family: inherit; }
.fsb-bar.fsb-pos-right     { right: var(--fsb-side,24px); bottom: var(--fsb-bottom,24px); }
.fsb-bar.fsb-pos-left      { left:  var(--fsb-side,24px); bottom: var(--fsb-bottom,24px); }
.fsb-bar.fsb-pos-top-right { right: var(--fsb-side,24px); top: var(--fsb-bottom,24px); }
.fsb-bar.fsb-pos-top-left  { left:  var(--fsb-side,24px); top: var(--fsb-bottom,24px); }
/* ORTA konumlar */
.fsb-bar.fsb-pos-center       { left: 50%; top: 50%; transform: translate(-50%, -50%); }
.fsb-bar.fsb-pos-center-left  { left: var(--fsb-side,24px); top: 50%; transform: translateY(-50%); }
.fsb-bar.fsb-pos-center-right { right: var(--fsb-side,24px); top: 50%; transform: translateY(-50%); }
.fsb-bar.fsb-pos-bottom-center { left: 50%; bottom: var(--fsb-bottom,24px); transform: translateX(-50%); }
.fsb-bar.fsb-pos-top-center    { left: 50%; top: var(--fsb-bottom,24px); transform: translateX(-50%); }

/* INLINE (shortcode) */
.fsb-bar.fsb-inline {
    position: relative !important; right:auto!important; left:auto!important; top:auto!important; bottom:auto!important;
    z-index: auto; display: inline-flex;
}
.fsb-bar.fsb-inline .fsb-list { pointer-events: auto; }
.fsb-bar.fsb-inline .fsb-li { opacity:1!important; transform:none!important; pointer-events:auto!important; }
.fsb-bar.fsb-inline .fsb-main { display: none; }
.fsb-bar.fsb-inline.fsb-attn-pulse .fsb-main,
.fsb-bar.fsb-inline.fsb-attn-shadow .fsb-main,
.fsb-bar.fsb-inline.fsb-attn-bounce .fsb-main { animation: none !important; }

/* ===== AÇILIŞ YÖNÜ ===== */
.fsb-open-up    { flex-direction: column; }
.fsb-open-up .fsb-list { flex-direction: column; }
.fsb-open-down  { flex-direction: column-reverse; }
.fsb-open-down .fsb-list { flex-direction: column-reverse; }
.fsb-open-left  { flex-direction: row; align-items: center; }
.fsb-open-left .fsb-list { flex-direction: row; align-items: center; }
.fsb-open-right { flex-direction: row-reverse; align-items: center; }
.fsb-open-right .fsb-list { flex-direction: row-reverse; align-items: center; }

/* ===== SPLIT: ana buton ortada, öğeler iki yana (yatay) ===== */
.fsb-open-split { flex-direction: row; align-items: center; }
/* sıralama: sol panel | ana buton | sağ panel */
.fsb-open-split .fsb-panel-left  { order: 1; }
.fsb-open-split .fsb-main        { order: 2; }
.fsb-open-split .fsb-panel-right { order: 3; }
.fsb-open-split .fsb-list-left  { flex-direction: row; align-items: center; }
.fsb-open-split .fsb-list-right { flex-direction: row; align-items: center; }
/* sol panel sağa hizalı (ana butona yapışık), sağ panel sola hizalı */
.fsb-open-split .fsb-panel-left  { justify-content: flex-end; }
.fsb-open-split .fsb-panel-right { justify-content: flex-start; }
/* kapalıyken iki panel de gizli (yatay kayarak girer) */
.fsb-open-split:not(.is-open) .fsb-panel-left  .fsb-li { opacity: 0; transform: translateX(12px) scale(.6); pointer-events: none; }
.fsb-open-split:not(.is-open) .fsb-panel-right .fsb-li { opacity: 0; transform: translateX(-12px) scale(.6); pointer-events: none; }
/* kapalıyken paneller yer kaplamasın (ana buton ortada) */
.fsb-open-split .fsb-panel-left, .fsb-open-split .fsb-panel-right {
    max-width: 0; overflow: visible; transition: max-width .3s ease;
}
.fsb-open-split.is-open .fsb-panel-left, .fsb-open-split.is-open .fsb-panel-right {
    max-width: 50vw;
}
.fsb-open-split .fsb-list-left, .fsb-open-split .fsb-list-right { white-space: nowrap; }
.fsb-open-up.fsb-pos-right, .fsb-open-up.fsb-pos-left, .fsb-open-up.fsb-pos-top-right, .fsb-open-up.fsb-pos-top-left,
.fsb-open-down.fsb-pos-right, .fsb-open-down.fsb-pos-left, .fsb-open-down.fsb-pos-top-right, .fsb-open-down.fsb-pos-top-left { align-items: center; }

/* panel sarmalayıcı */
.fsb-panel-wrap { display: flex; }
.fsb-list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: var(--fsb-gap,14px); }

/* ===== MENÜ MODU PANELİ ===== */
.fsb-has-panel .fsb-panel-wrap {
    background: var(--fsb-panel-bg, #fff);
    border-radius: var(--fsb-panel-radius, 18px);
    padding: var(--fsb-panel-pad, 12px);
    box-shadow: var(--fsb-panel-shadow, 0 12px 40px rgba(0,0,0,.18));
    backdrop-filter: blur(calc(var(--fsb-panel-blur,0) * 1px));
    -webkit-backdrop-filter: blur(calc(var(--fsb-panel-blur,0) * 1px));
    transition: opacity .25s ease, transform .28s cubic-bezier(.34,1.56,.64,1);
}
/* menü modunda da öğeler open_dir yönünde dizilir (kısayol modu gibi) */
/* MENÜ MODU: açılış yönü ne olursa olsun her zaman DİKEY tam genişlik panel.
   (Yatay diziliş alt menülerin yanlarda açılıp kesilmesine yol açıyordu.)
   Kategoriler alt alta; alt kategoriler altlarında accordion olarak açılır. */
.fsb-mode-menu .fsb-list { flex-direction: column !important; align-items: stretch !important; }
.fsb-mode-menu.fsb-open-down .fsb-list { flex-direction: column-reverse !important; }
.fsb-mode-menu .fsb-li { width: 100%; }
.fsb-mode-menu .fsb-li > .fsb-btn { width: 100% !important; }

/* kapalı durum */
.fsb-bar:not(.is-open) .fsb-list { pointer-events: none; }
.fsb-bar:not(.is-open) .fsb-panel-wrap { opacity: 0; pointer-events: none; transform: scale(.92); }
.fsb-bar:not(.is-open):not(.fsb-has-panel) .fsb-li { opacity: 0; transform: translateY(12px) scale(.6); pointer-events: none; }
.fsb-open-down:not(.is-open):not(.fsb-has-panel) .fsb-li { transform: translateY(-12px) scale(.6); }
.fsb-open-left:not(.is-open):not(.fsb-has-panel) .fsb-li { transform: translateX(12px) scale(.6); }
.fsb-open-right:not(.is-open):not(.fsb-has-panel) .fsb-li { transform: translateX(-12px) scale(.6); }

.fsb-li { position: relative; display: flex; align-items: center; transition: opacity .28s ease, transform .28s cubic-bezier(.34,1.56,.64,1); }
.fsb-bar.is-open .fsb-li { opacity: 1; transform: none; }
.fsb-bar.is-open:not(.fsb-has-panel) .fsb-li:nth-child(1){transition-delay:.02s}
.fsb-bar.is-open:not(.fsb-has-panel) .fsb-li:nth-child(2){transition-delay:.06s}
.fsb-bar.is-open:not(.fsb-has-panel) .fsb-li:nth-child(3){transition-delay:.10s}
.fsb-bar.is-open:not(.fsb-has-panel) .fsb-li:nth-child(4){transition-delay:.14s}
.fsb-bar.is-open:not(.fsb-has-panel) .fsb-li:nth-child(5){transition-delay:.18s}
.fsb-bar.is-open:not(.fsb-has-panel) .fsb-li:nth-child(6){transition-delay:.22s}
.fsb-bar.is-open:not(.fsb-has-panel) .fsb-li:nth-child(7){transition-delay:.26s}
.fsb-bar.is-open:not(.fsb-has-panel) .fsb-li:nth-child(8){transition-delay:.30s}

/* ===== BUTON (öğe) ===== */
.fsb-btn {
    --w: var(--fsb-iw, var(--fsb-item-w, 56px));
    --h: var(--fsb-ih, var(--fsb-item-h, 56px));
    width: var(--w); height: var(--h);
    display: flex; align-items: center; justify-content: center; gap: 8px;
    border: none; cursor: pointer; box-sizing: border-box;
    background: var(--fsb-c, #2563eb); color: var(--fsb-tc, #fff);
    box-shadow: var(--fsb-item-shadow, 0 6px 18px rgba(0,0,0,.18)); text-decoration: none; padding: 0 0;
    outline: var(--fsb-outline, none); outline-offset: -1px;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, background .18s ease;
    position: relative; font: inherit;
}
/* Ana buton outline bağımsızlığı: off = hiç çerçeve, on = her zaman çerçeve */
.fsb-mainoutline-off .fsb-main { outline: none !important; }
.fsb-mainoutline-on .fsb-main { outline: var(--fsb-outline, 1px solid #e2e8f0) !important; }
/* hover arka planı: özel renk verilmişse onu kullan, yoksa parlaklık */
.fsb-hv-lift:hover { transform: translateY(-3px) scale(1.05); box-shadow: 0 10px 24px rgba(0,0,0,.26); filter: brightness(1.05); }
.fsb-hv-grow:hover { transform: scale(1.12); box-shadow: 0 10px 24px rgba(0,0,0,.26); }
.fsb-hv-tilt:hover { transform: rotate(-4deg) scale(1.06); box-shadow: 0 10px 24px rgba(0,0,0,.26); }
.fsb-hv-none:hover { filter: brightness(1.05); }
.fsb-li:hover > .fsb-btn[style*="--fsb-hover-bg"] { background: var(--fsb-hover-bg); filter: none; }
/* hover'da metin/ikon rengi (madde 1) */
.fsb-li:hover > .fsb-btn[style*="--fsb-hover-tc"] { color: var(--fsb-hover-tc); }
.fsb-li:hover > .fsb-btn[style*="--fsb-hover-tc"] .fsb-ic svg { color: var(--fsb-hover-tc); }
/* aktif (açık kategori) arka planı */
.fsb-group.is-expanded > .fsb-btn[style*="--fsb-active-bg"] { background: var(--fsb-active-bg); }
.fsb-btn:active { transform: scale(.96); }

/* ===== SEPARATOR (ikon kenarına ince çizgi) ===== */
.fsb-li.fsb-sep-top > .fsb-btn::before,
.fsb-li.fsb-sep-bottom > .fsb-btn::after,
.fsb-li.fsb-sep-left > .fsb-btn::before,
.fsb-li.fsb-sep-right > .fsb-btn::after { content: ""; position: absolute; background: var(--fsb-sep-color, #e2e8f0); pointer-events: none; }
.fsb-li.fsb-sep-top > .fsb-btn::before    { left: 18%; right: 18%; top: -7px; height: 2px; border-radius: 2px; }
.fsb-li.fsb-sep-bottom > .fsb-btn::after  { left: 18%; right: 18%; bottom: -7px; height: 2px; border-radius: 2px; }
.fsb-li.fsb-sep-left > .fsb-btn::before   { top: 18%; bottom: 18%; left: -7px; width: 2px; border-radius: 2px; }
.fsb-li.fsb-sep-right > .fsb-btn::after   { top: 18%; bottom: 18%; right: -7px; width: 2px; border-radius: 2px; }

.fsb-btn .fsb-ic { display: inline-flex; align-items: center; justify-content: center; }
.fsb-btn .fsb-ic svg { width: calc(min(var(--w), var(--h)) * .5); height: calc(min(var(--w), var(--h)) * .5); display: block; }
.fsb-btn .fsb-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fsb-btn.fsb-has-img { background: var(--fsb-imgbg, transparent) !important; overflow: hidden; }
.fsb-btn.fsb-has-img .fsb-ic { width: 100%; height: 100%; }

/* metin */
.fsb-txt { display: inline-flex; flex-direction: column; line-height: 1.15; text-align: left; }
.fsb-txt { min-width: 0; overflow: hidden; }
.fsb-txt-label { font-size: var(--fsb-label-size, 14px); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.fsb-txt-desc { font-size: calc(var(--fsb-label-size,14px) * .8); opacity: .8; font-weight: 400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }

/* metinli butonlar otomatik genişler (yatay pill) */
.fsb-btn.fsb-has-txt { width: auto; min-width: var(--w); padding: 0 16px; justify-content: flex-start; }
.fsb-mode-menu .fsb-btn.fsb-has-txt { width: 100%; }

/* ===== İKON / METİN DİZİLİŞİ (layout) ===== */
/* İkon üstte, metin altta (dikey) — 1:1 kare butonlar için ideal */
.fsb-btn.fsb-lay-icon-top {
    flex-direction: column; gap: 4px; padding: 6px 8px; text-align: center;
    width: var(--w); min-width: var(--w);
}
.fsb-btn.fsb-lay-icon-top .fsb-txt { flex-direction: column; text-align: center; align-items: center; }
/* dikey düzende başlık tek satıra sığmazsa alt alta sarsın (kelimeler bölünmez) */
.fsb-btn.fsb-lay-icon-top .fsb-txt-label {
    white-space: normal; overflow-wrap: break-word; word-break: keep-all;
    line-height: 1.1; max-width: 100%; text-overflow: clip;
}
.fsb-btn.fsb-lay-icon-top .fsb-txt-desc { white-space: normal; line-height: 1.05; }

/* İkon solda, metin sağda (varsayılan yatay) */
.fsb-btn.fsb-lay-icon-left { flex-direction: row; }
.fsb-btn.fsb-lay-icon-left .fsb-txt { text-align: left; }

/* İkon sağda, metin solda */
.fsb-btn.fsb-lay-icon-right { flex-direction: row-reverse; }
.fsb-btn.fsb-lay-icon-right .fsb-txt { text-align: right; }

/* ===== ŞEKİLLER ===== */
/* öğe şekli (inherit => bar shape) */
.fsb-shape-rounded .fsb-btn { border-radius: 16px; }
.fsb-shape-circle  .fsb-btn { border-radius: 50%; }
.fsb-shape-square  .fsb-btn { border-radius: 6px; }
/* öğe seviyesi şekil override */
.fsb-li.fsb-shape-square > .fsb-btn { border-radius: 6px; }
.fsb-li.fsb-shape-pill > .fsb-btn { border-radius: 999px; }
.fsb-li.fsb-shape-wide > .fsb-btn { width: calc(var(--fsb-iw, var(--fsb-item-w,56px)) * 2); }
.fsb-li.fsb-shape-tall > .fsb-btn { height: calc(var(--fsb-ih, var(--fsb-item-h,56px)) * 1.6); flex-direction: column; gap: 4px; }
.fsb-li.fsb-shape-full > .fsb-btn { width: 100%; }
.fsb-has-img.fsb-btn { border-radius: inherit; }

/* caret (menü modunda grup oku) */
.fsb-caret { margin-left: auto; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); opacity: .7; transition: transform .2s; }
.fsb-group.is-expanded > .fsb-group-toggle .fsb-caret { transform: rotate(45deg); }

/* ===== ANA BUTON ===== */
.fsb-main {
    --w: var(--fsb-main-w, 56px); --h: var(--fsb-main-h, 56px);
    width: var(--w); height: var(--h);
    min-width: var(--w); min-height: var(--h);
    background: var(--fsb-main-bg,#fff); color: var(--fsb-main-color,#2563eb);
    flex: 0 0 auto;
    display: flex !important; align-items: center; justify-content: center;
    position: relative; z-index: 100000; visibility: visible !important;
    overflow: hidden;
    box-shadow: var(--fsb-main-shadow, 0 6px 18px rgba(0,0,0,.18));
    transition: width .26s cubic-bezier(.34,1.3,.5,1), height .26s cubic-bezier(.34,1.3,.5,1), min-width .26s, min-height .26s, background .2s;
}
/* AÇIK durumda ana buton ayrı boyut (kapalı 1:1, açık yatay/farklı olabilir) */
.fsb-bar.is-open .fsb-main {
    --w: var(--fsb-mo-w, var(--fsb-main-w, 56px));
    --h: var(--fsb-mo-h, var(--fsb-main-h, 56px));
}
/* görsel/logoyu yuvarlatmak için iç sarmalayıcı taşmayı gizler, buton değil */
.fsb-main .fsb-main-open-icon, .fsb-main .fsb-main-close-icon { border-radius: inherit; overflow: hidden; }
/* DİKKAT EFEKTİ aktifken: gölge halkası/parlaması butonun dışına taşabilsin (kırpılmasın) */
.fsb-bar:not(.is-open):not(.fsb-attn-none) .fsb-main { overflow: visible; }
/* "Her zaman" efekt: menü açıkken de halka kırpılmasın */
.fsb-bar.fsb-attn-always:not(.fsb-attn-none) .fsb-main { overflow: visible; }
/* RENK KULLANMA (transparan) — PNG/logo için arka plan yok */
.fsb-main-notint .fsb-main { background: transparent !important; }
.fsb-main-notint:not(.fsb-attn-pulse):not(.fsb-attn-shadow):not(.fsb-attn-bounce) .fsb-main { box-shadow: none; }
/* görsel ikon varsa her durumda arka plan transparan */
.fsb-main.fsb-has-img { background: transparent !important; }
/* gizleme yalnızca açık talep edilince */
.fsb-main-hidden .fsb-main { display: none !important; }
.fsb-bar.fsb-inline .fsb-main { display: none !important; }
.fsb-main.fsb-has-text { width: auto; padding: 0 18px; gap: 8px; overflow: visible; }
.fsb-main .fsb-main-open-icon, .fsb-main .fsb-main-close-icon { display: flex; align-items: center; justify-content: center; transition: opacity .2s, transform .2s; }
.fsb-main:not(.fsb-has-text) .fsb-main-open-icon, .fsb-main:not(.fsb-has-text) .fsb-main-close-icon { position: absolute; inset: 0; }
.fsb-main .fsb-main-open-icon svg, .fsb-main .fsb-main-close-icon svg { width: 50%; height: 50%; max-width: 28px; max-height: 28px; display: block; }
.fsb-main .fsb-svg { color: var(--fsb-main-color, #2563eb); }
.fsb-main .fsb-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fsb-main-label { font-size: var(--fsb-label-size,14px); font-weight: 700; }
.fsb-main .fsb-main-close-icon { opacity: 0; transform: scale(.5) rotate(-90deg); }
.fsb-bar.is-open .fsb-main .fsb-main-open-icon { opacity: 0; transform: scale(.5) rotate(90deg); }
.fsb-bar.is-open .fsb-main .fsb-main-close-icon { opacity: 1; transform: scale(1) rotate(0); }
/* görselli ana butonda ikon dönmesin (logo ters dönmesin) */
.fsb-main.fsb-has-img { }
.fsb-bar.is-open .fsb-main:not(.fsb-has-text):not(.fsb-has-img) { transform: rotate(90deg); }
.fsb-bar.is-open.fsb-shape-circle .fsb-main:not(.fsb-has-text):not(.fsb-has-img) { transform: rotate(180deg); }

/* ana buton SABİT (ikon değişmesin, dönmesin) */
.fsb-main-static .fsb-main { transform: none !important; }
.fsb-main-static .fsb-main .fsb-main-close-icon { display: none !important; }
.fsb-main-static .fsb-main .fsb-main-open-icon { opacity: 1 !important; transform: none !important; }

/* ana buton GİZLİ (ama menü açık başlatılabilir / dışarı tıkla-kapat çalışır) */
.fsb-main-hidden .fsb-main { display: none; }
/* ana buton gizliyse ve panel modundaysa panel görünür kalsın (her zaman açık menü) */
.fsb-main-hidden.fsb-has-panel:not(.is-open) .fsb-panel-wrap { opacity: 1; pointer-events: auto; transform: none; }
.fsb-main-hidden:not(.fsb-has-panel):not(.is-open) .fsb-li { opacity: 1; transform: none; pointer-events: auto; }

/* ===== ETİKET (kısayol modu hover) — İKONUN ÜSTÜNDE ===== */
.fsb-label {
    position: absolute; background: #1f2937; color: #fff; padding: 6px 12px; border-radius: 8px;
    font-size: 13px; white-space: nowrap; opacity: 0; pointer-events: none;
    transition: opacity .18s ease, transform .18s ease; box-shadow: 0 4px 12px rgba(0,0,0,.2);
    left: 50%; bottom: calc(100% + 10px); top: auto; right: auto;
    transform: translateX(-50%) translateY(6px); z-index: 50;
}
.fsb-label::after { content:""; position:absolute; left:50%; top:100%; transform:translateX(-50%); border:5px solid transparent; border-top-color:#1f2937; }
.fsb-show-labels .fsb-li:hover { z-index: 60; }
.fsb-show-labels .fsb-li:hover > .fsb-label { opacity: 1; transform: translateX(-50%) translateY(0); z-index: 60; }
/* menü modunda hover etiketi gerekmez (metin zaten var) */
.fsb-mode-menu .fsb-label { display: none; }

/* ===== BADGE (kalıcı küçük etiket) ===== */
.fsb-badge-tip {
    position: absolute; top: -8px; right: -8px;
    z-index: 30;
    background: #ef4444; color: #fff;
    font-size: 10px; font-weight: 700; line-height: 1;
    padding: 3px 6px; border-radius: 999px;
    white-space: nowrap; max-width: 120px; overflow: hidden; text-overflow: ellipsis;
    box-shadow: 0 2px 6px rgba(0,0,0,.25);
    pointer-events: none;
}
/* Badge taşıyan öğeyi, kardeşlerinin üstüne çıkar (kendi liste bağlamı içinde).
   Anahtar fikir: badge'i mutlak en yükseğe değil, KENDİ listesinde öne alıyoruz;
   böylece açık alt menü (yüksek z-index) badge'in üstünü örtmez. */
.fsb-list > .fsb-li.fsb-has-badge,
.fsb-sublist > .fsb-li.fsb-has-badge { z-index: 40; }
/* Açık kategori ve onun alt menüsü zaten yüksek; badge taşıyan AÇIK grubu ve
   alt menüsündeki badge'leri en öne al ki komşu/ana kategori altında kalmasın. */
.fsb-group.is-expanded { z-index: 50; }
.fsb-group.is-expanded > .fsb-sublist { z-index: 60; }
.fsb-group.is-expanded > .fsb-sublist .fsb-badge-tip { z-index: 70; }
/* Ana buton panelinin badge'leri ezmemesi için içerik akışı düşük katmanda */
.fsb-pos-left .fsb-badge-tip, .fsb-pos-top-left .fsb-badge-tip { right: auto; left: -8px; }
/* menü modunda badge sağ ortada, metnin yanında */
.fsb-mode-menu .fsb-badge-tip { position: static; margin-left: auto; top: auto; right: auto; align-self: center; z-index: auto; }

/* ===== TOOLTIP (hover bilgi balonu) ===== */
.fsb-tooltip {
    position: absolute; left: 50%; bottom: calc(100% + 12px);
    transform: translateX(-50%) translateY(6px);
    opacity: 0; pointer-events: none; z-index: 70;
    transition: opacity .18s ease, transform .18s ease;
}
.fsb-tooltip-in {
    display: block; background: #111827; color: #fff;
    font-size: 12px; line-height: 1.3; font-weight: 500;
    padding: 7px 11px; border-radius: 8px;
    white-space: normal; width: max-content; max-width: 220px;
    box-shadow: 0 6px 18px rgba(0,0,0,.28);
    text-align: center;
}
.fsb-tooltip-in::after {
    content: ""; position: absolute; left: 50%; top: 100%;
    transform: translateX(-50%); border: 6px solid transparent; border-top-color: #111827;
}
.fsb-li:hover > .fsb-tooltip { opacity: 1; transform: translateX(-50%) translateY(0); }
/* tooltip ekranın üstüne sığmazsa (üst köşe konumları) altta göster */
.fsb-pos-top-left .fsb-tooltip, .fsb-pos-top-right .fsb-tooltip { bottom: auto; top: calc(100% + 12px); transform: translateX(-50%) translateY(-6px); }
.fsb-pos-top-left .fsb-li:hover > .fsb-tooltip, .fsb-pos-top-right .fsb-li:hover > .fsb-tooltip { transform: translateX(-50%) translateY(0); }
.fsb-pos-top-left .fsb-tooltip-in::after, .fsb-pos-top-right .fsb-tooltip-in::after { top: auto; bottom: 100%; border-top-color: transparent; border-bottom-color: #111827; }

/* ===== ALT MENÜLER (recursive, öğe başına yön) ===== */
.fsb-group { position: relative; }
.fsb-sublist {
    list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: var(--fsb-gap,14px);
    opacity: 0; pointer-events: none;
    transition: opacity .25s ease, transform .3s cubic-bezier(.34,1.56,.64,1);
    position: absolute; z-index: 45;
    scroll-behavior: smooth;
}
/* açık kategori her zaman kardeşlerinin ve diğer içeriğin önünde */
.fsb-group.is-expanded > .fsb-sublist { opacity: 1; pointer-events: auto; }
.fsb-sublist::before { content:""; position:absolute; z-index:-1; }

/* ===== ALT MENÜ ARKA PLANI (opsiyonel, masaüstü dahil) ===== */
/* Alt menü arka planı — masaüstü varsayılan (both veya desktop) */
.fsb-sub-has-bg.fsb-subbg-both .fsb-sublist,
.fsb-sub-has-bg.fsb-subbg-desktop .fsb-sublist {
    background: var(--fsb-sub-bg, transparent);
    border-radius: var(--fsb-sub-radius, 16px);
    padding: var(--fsb-sub-pad, 10px);
    box-shadow: var(--fsb-sub-shadow, none);
}
/* blur YALNIZCA değer > 0 ise uygulanır (gereksiz stacking/clip context önlenir) */
.fsb-sub-has-bg.fsb-subbg-both.fsb-has-blur .fsb-sublist,
.fsb-sub-has-bg.fsb-subbg-desktop.fsb-has-blur .fsb-sublist {
    backdrop-filter: blur(calc(var(--fsb-sub-blur,0) * 1px));
    -webkit-backdrop-filter: blur(calc(var(--fsb-sub-blur,0) * 1px));
}

/* yön: yukarı */
.fsb-isub-up > .fsb-sublist { left: 50%; bottom: calc(100% + var(--fsb-gap,14px)); flex-direction: column-reverse; transform: translateX(-50%) translateY(10px);
    overflow: visible; padding: 42px 2px 2px; }
.fsb-isub-up.fsb-group.is-expanded > .fsb-sublist { transform: translateX(-50%) translateY(0); }
.fsb-isub-up > .fsb-sublist::before { left:0; right:0; bottom: calc(-1 * var(--fsb-gap,14px)); height: var(--fsb-gap,14px); }
/* yön: aşağı */
.fsb-isub-down > .fsb-sublist { left: 50%; top: calc(100% + var(--fsb-gap,14px)); flex-direction: column; transform: translateX(-50%) translateY(-10px);
    overflow: visible; padding: 2px; }
.fsb-isub-down.fsb-group.is-expanded > .fsb-sublist { transform: translateX(-50%) translateY(0); }
.fsb-isub-down > .fsb-sublist::before { left:0; right:0; top: calc(-1 * var(--fsb-gap,14px)); height: var(--fsb-gap,14px); }
/* yön: sola */
.fsb-isub-left > .fsb-sublist { right: calc(100% + var(--fsb-gap,14px)); top: 50%; flex-direction: row-reverse; transform: translateY(-50%) translateX(10px);
    overflow: visible; padding: 42px 2px 6px; }
.fsb-isub-left.fsb-group.is-expanded > .fsb-sublist { transform: translateY(-50%) translateX(0); }
.fsb-isub-left > .fsb-sublist::before { top:0; bottom:0; right: calc(-1 * var(--fsb-gap,14px)); width: var(--fsb-gap,14px); }
/* yön: sağa */
.fsb-isub-right > .fsb-sublist { left: calc(100% + var(--fsb-gap,14px)); top: 50%; flex-direction: row; transform: translateY(-50%) translateX(-10px);
    overflow: visible; padding: 42px 2px 6px; }
.fsb-isub-right.fsb-group.is-expanded > .fsb-sublist { transform: translateY(-50%) translateX(0); }
.fsb-isub-right > .fsb-sublist::before { top:0; bottom:0; left: calc(-1 * var(--fsb-gap,14px)); width: var(--fsb-gap,14px); }

/* menü modunda alt menüler dikey akar (accordion benzeri) */
/* MENÜ MODU alt menü: yön (isub-*) kurallarını TAM ezer — her zaman ana
   kategorinin ALTINDA, dikey, tam genişlik accordion olarak açılır. */
.fsb-mode-menu .fsb-sublist {
    position: static !important;
    left: auto !important; right: auto !important; top: auto !important; bottom: auto !important;
    flex-direction: column !important; align-items: stretch !important;
    transform: none !important;
    max-height: 0; overflow: hidden; padding: 0; margin: 0;
    transition: max-height .3s ease, opacity .25s ease, margin .25s ease;
}
.fsb-mode-menu .fsb-group.is-expanded > .fsb-sublist { max-height: 1500px; opacity: 1; margin-top: var(--fsb-gap,14px); }
.fsb-mode-menu .fsb-sublist::before { display: none !important; }
/* menü modunda accordion içindeki tüm öğeler eşit (tam) genişlik */
.fsb-mode-menu .fsb-sublist .fsb-li { width: 100%; }
.fsb-mode-menu .fsb-sublist .fsb-btn { width: 100% !important; }

/* ===== MENÜ MODU HİZALAMA (alt menü + ana liste öğeleri) ===== */
/* STRETCH (varsayılan): tüm öğeler tam genişlik, eşit hizalı */
.fsb-mode-menu.fsb-subalign-stretch .fsb-list,
.fsb-mode-menu.fsb-subalign-stretch .fsb-sublist { align-items: stretch; }

/* SOLA: öğeler içeriğe göre, sola yaslı */
.fsb-mode-menu.fsb-subalign-left .fsb-list,
.fsb-mode-menu.fsb-subalign-left .fsb-sublist { align-items: flex-start; }
.fsb-mode-menu.fsb-subalign-left .fsb-li,
.fsb-mode-menu.fsb-subalign-left .fsb-sublist .fsb-li { width: auto; }
.fsb-mode-menu.fsb-subalign-left .fsb-btn,
.fsb-mode-menu.fsb-subalign-left .fsb-sublist .fsb-btn { width: auto !important; justify-content: flex-start; }

/* ORTALA: öğeler içeriğe göre, ortalı */
.fsb-mode-menu.fsb-subalign-center .fsb-list,
.fsb-mode-menu.fsb-subalign-center .fsb-sublist { align-items: center; }
.fsb-mode-menu.fsb-subalign-center .fsb-li,
.fsb-mode-menu.fsb-subalign-center .fsb-sublist .fsb-li { width: auto; }
.fsb-mode-menu.fsb-subalign-center .fsb-btn,
.fsb-mode-menu.fsb-subalign-center .fsb-sublist .fsb-btn { width: auto !important; justify-content: center; }

/* SAĞA: öğeler içeriğe göre, sağa yaslı */
.fsb-mode-menu.fsb-subalign-right .fsb-list,
.fsb-mode-menu.fsb-subalign-right .fsb-sublist { align-items: flex-end; }
.fsb-mode-menu.fsb-subalign-right .fsb-li,
.fsb-mode-menu.fsb-subalign-right .fsb-sublist .fsb-li { width: auto; }
.fsb-mode-menu.fsb-subalign-right .fsb-btn,
.fsb-mode-menu.fsb-subalign-right .fsb-sublist .fsb-btn { width: auto !important; justify-content: flex-end; }

.fsb-group.is-expanded > .fsb-group-toggle { outline: 3px solid rgba(255,255,255,.6); outline-offset: 2px; }
.fsb-mode-menu .fsb-group.is-expanded > .fsb-group-toggle { outline: none; }

/* alt menü (alt kategori) öğeleri AYRI "Alt Kategori İkon Boyutu"nu kullanır
   (sub_item_* = 0 ise PHP zaten öğe boyutuna eşitler) */
.fsb-sublist .fsb-btn { --w: var(--fsb-subi-w, var(--fsb-item-w, 56px)) !important; --h: var(--fsb-subi-h, var(--fsb-item-h, 56px)) !important; }
.fsb-sublist .fsb-li { flex: 0 0 auto; }
.fsb-sublist, .fsb-list { scrollbar-width: none; -ms-overflow-style: none; }
.fsb-sublist::-webkit-scrollbar, .fsb-list::-webkit-scrollbar { width: 0; height: 0; display: none; }

/* ===== HIGHLIGHT ===== */
.fsb-hl-pulse { animation: fsb-hl-pulse 1.8s ease-out infinite; }
@keyframes fsb-hl-pulse { 0%{box-shadow:0 6px 18px rgba(0,0,0,.18),0 0 0 0 var(--fsb-c,#2563eb);}70%{box-shadow:0 6px 18px rgba(0,0,0,.18),0 0 0 14px rgba(0,0,0,0);}100%{box-shadow:0 6px 18px rgba(0,0,0,.18),0 0 0 0 rgba(0,0,0,0);} }
.fsb-hl-glow { animation: fsb-hl-glow 1.6s ease-in-out infinite; }
@keyframes fsb-hl-glow { 0%,100%{box-shadow:0 6px 18px rgba(0,0,0,.18);filter:brightness(1);}50%{box-shadow:0 0 24px 4px var(--fsb-c,#2563eb);filter:brightness(1.15);} }
.fsb-hl-shake { animation: fsb-hl-shake 2.4s ease-in-out infinite; }
@keyframes fsb-hl-shake { 0%,86%,100%{transform:rotate(0);}88%{transform:rotate(-8deg);}90%{transform:rotate(8deg);}94%{transform:rotate(6deg);}98%{transform:rotate(3deg);} }
.fsb-hl-bounce { animation: fsb-hl-bounce 1.8s ease-in-out infinite; }
@keyframes fsb-hl-bounce { 0%,30%,50%,70%,100%{transform:translateY(0);}40%{transform:translateY(-9px);}60%{transform:translateY(-4px);} }

/* ===== DİKKAT ÇEKME (ana buton) =====
   Her menü KENDİ attention class'ını kullanır; !important ile başka menünün/
   kuralın ezmesi engellenir. 'none' her durumda animasyonu kapatır. */
.fsb-bar.fsb-attn-none .fsb-main { animation: none !important; }
.fsb-bar:not(.is-open).fsb-attn-pulse .fsb-main { animation: fsb-pulse 2s ease-out infinite !important; }
@keyframes fsb-pulse { 0%{box-shadow:var(--fsb-main-shadow,0 6px 18px rgba(0,0,0,.18)),0 0 0 0 rgba(37,99,235,.45);}70%{box-shadow:var(--fsb-main-shadow,0 6px 18px rgba(0,0,0,.18)),0 0 0 18px rgba(37,99,235,0);}100%{box-shadow:var(--fsb-main-shadow,0 6px 18px rgba(0,0,0,.18)),0 0 0 0 rgba(37,99,235,0);} }
.fsb-bar:not(.is-open).fsb-attn-shadow .fsb-main { animation: fsb-glow 1.8s ease-in-out infinite !important; }
@keyframes fsb-glow { 0%,100%{box-shadow:var(--fsb-main-shadow,0 6px 18px rgba(0,0,0,.18));}50%{box-shadow:0 6px 30px 4px rgba(37,99,235,.7);} }
.fsb-bar:not(.is-open).fsb-attn-bounce .fsb-main { animation: fsb-bounce 1.6s ease-in-out infinite !important; }
@keyframes fsb-bounce { 0%,20%,50%,80%,100%{transform:translateY(0);}40%{transform:translateY(-10px);}60%{transform:translateY(-5px);} }

/* "Her zaman" dikkat efekti: menü AÇIKKEN de ana butonda efekt sürer. */
.fsb-bar.is-open.fsb-attn-always.fsb-attn-pulse .fsb-main { animation: fsb-pulse 2s ease-out infinite !important; }
.fsb-bar.is-open.fsb-attn-always.fsb-attn-shadow .fsb-main { animation: fsb-glow 1.8s ease-in-out infinite !important; }
.fsb-bar.is-open.fsb-attn-always.fsb-attn-bounce .fsb-main { animation: fsb-glow 1.8s ease-in-out infinite !important; }

/* açılış animasyon türleri */
.fsb-anim-fade:not(.is-open):not(.fsb-has-panel) .fsb-li { transform: none; }
.fsb-anim-scale:not(.is-open):not(.fsb-has-panel) .fsb-li { transform: scale(.3); }

/* ===== POP-UP MODAL ===== */
.fsb-modal { position: fixed; inset: 0; z-index: 2147483647; display: none; }
.fsb-modal.is-open { display: block; }
.fsb-modal-overlay { position: absolute; inset: 0; background: rgba(15,18,26,.62); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); animation: fsb-modal-fade .2s ease; }
.fsb-modal-box {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: min(680px, calc(100vw - 32px)); max-height: 86vh; overflow: auto;
    background: #fff; color: #1a1f2b; border-radius: 18px; padding: 26px 26px 28px;
    box-shadow: 0 24px 70px rgba(0,0,0,.4);
    animation: fsb-modal-pop .26s cubic-bezier(.34,1.4,.5,1);
    -webkit-overflow-scrolling: touch;
}
@keyframes fsb-modal-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes fsb-modal-pop { from { opacity: 0; transform: translate(-50%, -46%) scale(.94); } to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }
.fsb-modal-close {
    position: absolute; top: 12px; right: 14px; width: 34px; height: 34px;
    border: none; background: rgba(0,0,0,.05); border-radius: 50%; cursor: pointer;
    font-size: 24px; line-height: 1; color: #555; transition: background .15s, color .15s; z-index: 2;
}
.fsb-modal-close:hover { background: rgba(0,0,0,.1); color: #000; }
.fsb-modal-title { font-size: 19px; font-weight: 700; margin: 0 30px 14px 0; line-height: 1.3; }
.fsb-modal-body { font-size: 15px; line-height: 1.6; }
.fsb-modal-body img { max-width: 100%; height: auto; border-radius: 8px; }
.fsb-modal-body iframe { max-width: 100%; border: none; border-radius: 8px; }
/* gömülü video/harita iframe'leri responsive (16:9) */
.fsb-modal-body iframe[src*="youtube"], .fsb-modal-body iframe[src*="youtu.be"],
.fsb-modal-body iframe[src*="vimeo"], .fsb-modal-body iframe[src*="google.com/maps"],
.fsb-modal-body iframe[src*="maps.google"] {
    width: 100%; aspect-ratio: 16 / 9; height: auto; display: block;
}
.fsb-modal-body a { color: #2563eb; }
.fsb-modal-body :first-child { margin-top: 0; }
.fsb-modal-body :last-child { margin-bottom: 0; }
body.fsb-modal-lock { overflow: hidden; }

/* ERİŞİLEBİLİRLİK: klavye ile gezerken görünür odak halkası */
.fsb-btn:focus-visible, .fsb-main:focus-visible, .fsb-modal-close:focus-visible {
    outline: 3px solid #2563eb; outline-offset: 2px;
}

/* ===== MOBİL ===== */
/* ============================================================
   DOKUNMATİK CİHAZLAR: hover diye bir şey yok. Tarayıcının
   "ilk dokunuş = hover, ikinci dokunuş = tıklama" davranışını
   engelle ki alt menüler TEK dokunuşta açılsın.
   ============================================================ */
@media (hover: none), (pointer: coarse) {
    /* hover'a bağlı hiçbir görünürlük dokunmatikte kilitlenmesin */
    .fsb-li:hover > .fsb-tooltip { opacity: 0; }
    .fsb-show-labels .fsb-li:hover > .fsb-label { opacity: 0; }
    .fsb-li:hover > .fsb-btn[style*="--fsb-hover-bg"] { background: var(--fsb-c); }
    .fsb-li:hover > .fsb-btn[style*="--fsb-hover-tc"] { color: var(--fsb-tc); }
    .fsb-li:hover > .fsb-btn[style*="--fsb-hover-tc"] .fsb-ic svg { color: var(--fsb-tc); }
    /* dokunma anında tepki, gecikme yok */
    .fsb-btn, .fsb-group-toggle, .fsb-main { touch-action: manipulation; }
    /* aktif (basılı) durumda görsel geri bildirim */
    .fsb-group-toggle:active, .fsb-btn:active { filter: brightness(.94); }
}

@media (max-width: 782px) {
    /* ============================================================
       MOBİL MİMARİ (yeniden yapılandırıldı, v4.9.20)
       Felsefe:
       - Mobilde menü düzeni bir "yama" değil, BİRİNCİ SINIF davranıştır.
       - Panel-wrap'in konumu (fixed sheet) is-open'dan BAĞIMSIZ hazırlanır;
         is-open YALNIZCA görünürlüğü (opacity/visibility) açar/kapar.
         Böylece is-open gecikse/eksilse bile öğeler ASLA sayfaya dağılmaz.
       - flex-direction yön mantığı (open_dir) mobilde TEK yerde sıfırlanır;
         open_dir yalnızca masaüstünü etkiler.
       - Ortak temel: .fsb-m-sheet:not(.fsb-inline)  (hem m-sheet hem view-desktop).
         Her modun farkı, sonda küçük bloklarla verilir.
       ============================================================ */

    /* ---- Boyut değişkenleri (mobil) ---- */
    .fsb-bar { gap: var(--fsb-gap-m, 12px); }
    /* Cihaz görünürlüğü: mobilde "sadece masaüstü" gizle, "sadece mobil" göster */
    .fsb-bar.fsb-only-desktop { display: none !important; }
    .fsb-bar.fsb-only-mobile { display: flex !important; }
    .fsb-btn { --w: var(--fsb-iw-m, var(--fsb-item-w-m, 48px)); --h: var(--fsb-ih-m, var(--fsb-item-h-m, 48px)); }
    .fsb-main { --w: var(--fsb-main-w-m, 48px); --h: var(--fsb-main-h-m, 48px); }
    .fsb-bar.is-open .fsb-main { --w: var(--fsb-mo-w-m, var(--fsb-main-w-m, 48px)); --h: var(--fsb-mo-h-m, var(--fsb-main-h-m, 48px)); }
    .fsb-tooltip { display: none; }

    /* SPLIT mobilde: masaüstündeki "iki yana" düzeni dar ekranda anlamsız.
       İki panel de fixed bottom-sheet olur ama ALT ALTA istiflenir (sol panel
       üstte, sağ panel altında) ve tam ekran genişliğinde açılır. */
    .fsb-open-split { flex-direction: column !important; align-items: stretch !important; }
    .fsb-open-split .fsb-panel-left, .fsb-open-split .fsb-panel-right {
        position: fixed !important;
        left: 12px !important; right: 12px !important;
        width: auto !important; max-width: none !important;
        background: var(--fsb-panel-bg, #fff) !important;
        z-index: 2147483645;
        padding: 12px !important;
        overflow-y: auto !important; -webkit-overflow-scrolling: touch;
        opacity: 0; visibility: hidden; pointer-events: none;
        transition: opacity .26s ease, visibility .26s ease;
        transform: none !important;
    }
    /* sol panel = üst yarı, sağ panel = alt yarı (alt alta, çakışmadan) */
    .fsb-open-split .fsb-panel-left {
        bottom: calc(var(--fsb-bottom, 16px) + var(--fsb-main-h-m, 48px) + 18px + 42vh) !important;
        max-height: 40vh !important;
        border-radius: 18px 18px 0 0 !important;
        box-shadow: 0 -4px 18px rgba(0,0,0,.12) !important;
    }
    .fsb-open-split .fsb-panel-right {
        bottom: calc(var(--fsb-bottom, 16px) + var(--fsb-main-h-m, 48px) + 18px) !important;
        max-height: 40vh !important;
        border-radius: 0 0 18px 18px !important;
        box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
        border-top: 1px solid rgba(128,128,128,.18) !important;
    }
    .fsb-open-split.is-open .fsb-panel-left,
    .fsb-open-split.is-open .fsb-panel-right {
        opacity: 1; visibility: visible; pointer-events: auto;
    }
    .fsb-open-split .fsb-panel-left::before, .fsb-open-split .fsb-panel-right::before { display: none !important; }
    .fsb-open-split .fsb-list-left, .fsb-open-split .fsb-list-right {
        flex-direction: column !important; white-space: normal !important; width: 100% !important; gap: 8px;
    }

    /* KRİTİK: Açık menüde bar'ın giriş-animasyonu transform'unu (scale) SIFIRLA.
       Aksi halde transform'lu bar, içindeki position:fixed panel-wrap için yeni
       "containing block" oluşturur ve panel viewport'a değil bar'ın dar kutusuna
       göre konumlanır (panel sağ/sol şeritte sıkışıp full açılamaz).
       Orta konumlar hariç (onlar konumlandırma için transform kullanır). */
    .fsb-bar.is-open:not(.fsb-inline):not(.fsb-pos-center):not(.fsb-pos-center-left):not(.fsb-pos-center-right):not(.fsb-pos-bottom-center):not(.fsb-pos-top-center) {
        transform: none !important;
        animation: none !important;
    }
    /* orta konumlarda animasyonu iptal et ama konum transform'unu KORU */
    .fsb-bar.is-open.fsb-pos-center:not(.fsb-inline),
    .fsb-bar.is-open.fsb-pos-center-left:not(.fsb-inline),
    .fsb-bar.is-open.fsb-pos-center-right:not(.fsb-inline),
    .fsb-bar.is-open.fsb-pos-bottom-center:not(.fsb-inline),
    .fsb-bar.is-open.fsb-pos-top-center:not(.fsb-inline) {
        animation: none !important;
    }

    /* ============================================================
       1) ORTAK MOBİL TEMEL — gömülü (inline) OLMAYAN her bar
       ============================================================ */

    /* (b) Yön mantığını sıfırla: mobilde liste DAİMA dikey tek sütun.
       open_dir (row/column-reverse vb.) mobilde etkisiz. Tek kural,
       eski 27 parçalı :not() zincirinin yerini alır. */
    .fsb-m-sheet:not(.fsb-inline) .fsb-list {
        flex-direction: column;
        align-items: stretch;
        flex-wrap: nowrap;
        gap: 8px; width: 100%;
    }

    /* Öğeler: tam genişlik satır (ikon + metin), dokunması kolay. */
    .fsb-m-sheet:not(.fsb-inline) .fsb-li { width: 100%; }
    .fsb-m-sheet:not(.fsb-inline) .fsb-list > .fsb-li > .fsb-btn {
        width: 100%; height: auto; min-height: 52px;
        display: flex; align-items: center; justify-content: flex-start;
        gap: 13px; padding: 11px 14px; border-radius: 14px;
        overflow: hidden;
    }
    .fsb-m-sheet:not(.fsb-inline) .fsb-list > .fsb-li > .fsb-btn:active { transform: scale(.98); filter: brightness(.95); }

    /* ikon kutusu sabit kare */
    .fsb-m-sheet:not(.fsb-inline) .fsb-btn .fsb-ic {
        flex: 0 0 auto; width: 30px; height: 30px;
        display: flex; align-items: center; justify-content: center;
    }
    .fsb-m-sheet:not(.fsb-inline) .fsb-btn .fsb-ic svg { width: 26px; height: 26px; }
    .fsb-m-sheet:not(.fsb-inline) .fsb-btn.fsb-has-img .fsb-ic { width: 40px; height: 40px; border-radius: 9px; overflow: hidden; }

    /* metin alanı: tek satır, taşma yok */
    .fsb-m-sheet:not(.fsb-inline) .fsb-btn .fsb-txt { flex: 1 1 auto; min-width: 0; overflow: hidden; text-align: left; }
    .fsb-m-sheet:not(.fsb-inline) .fsb-btn .fsb-txt-label,
    .fsb-m-sheet:not(.fsb-inline) .fsb-btn .fsb-txt-desc {
        white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; display: block;
    }
    /* metinsiz butonda öğe adını otomatik yaz */
    .fsb-m-sheet:not(.fsb-inline) .fsb-list > .fsb-li > .fsb-btn.fsb-no-txt::after {
        content: attr(data-mlabel);
        flex: 1 1 auto; min-width: 0;
        font-size: 14px; font-weight: 600; text-align: left; line-height: 1.3;
        white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .fsb-m-sheet:not(.fsb-inline) .fsb-label { display: none; }

    /* (a) ALT MENÜLER accordion — her iki modda da (ortak temel).
       absolute konumlama kalkar; alt menü ana öğenin ALTINDA, akış içinde
       dikey açılır. !important ile yön (isub-*) kuralları kesin ezilir,
       böylece alt menü kategorinin üstüne taşmaz / kutudan çıkmaz. */
    .fsb-m-sheet:not(.fsb-inline) .fsb-sublist {
        position: static !important;
        inset: auto !important;
        left: auto !important; right: auto !important; top: auto !important; bottom: auto !important;
        transform: none !important;
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important; max-width: 100% !important;
        max-height: 0; overflow: hidden;
        padding: 0; margin: 0; gap: 8px; opacity: 1;
        background: none; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none;
        transition: max-height .32s cubic-bezier(.4,0,.2,1), margin .25s ease, padding .25s ease;
        box-sizing: border-box;
    }
    .fsb-m-sheet:not(.fsb-inline) .fsb-group.is-expanded > .fsb-sublist {
        max-height: 2000px; margin-top: 8px; padding: 2px 0 0 12px;
        border-left: 2px solid rgba(128,128,128,.25); margin-left: 8px;
    }
    .fsb-m-sheet:not(.fsb-inline) .fsb-sublist::before { display: none; }
    /* alt menü öğeleri tam genişlik satır + adlarını yaz */
    .fsb-m-sheet:not(.fsb-inline) .fsb-sublist .fsb-li { width: 100%; }
    .fsb-m-sheet:not(.fsb-inline) .fsb-sublist .fsb-btn {
        --w: auto; --h: auto;
        width: 100%; height: auto; min-height: 48px;
        justify-content: flex-start; gap: 12px; padding: 10px 14px; border-radius: 12px;
    }
    .fsb-m-sheet:not(.fsb-inline) .fsb-sublist .fsb-btn.fsb-no-txt::after {
        content: attr(data-mlabel); flex: 1 1 auto; min-width: 0;
        font-size: 14px; font-weight: 600; text-align: left;
        white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }

    /* accordion oku (alt menülü kategoride) */
    .fsb-m-sheet:not(.fsb-inline) .fsb-group > .fsb-group-toggle::after {
        content: ""; margin-left: auto; flex: 0 0 auto;
        width: 9px; height: 9px;
        border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
        transform: rotate(45deg); transition: transform .2s; opacity: .65;
    }
    .fsb-m-sheet:not(.fsb-inline) .fsb-group.is-expanded > .fsb-group-toggle::after { transform: rotate(-135deg); }
    .fsb-m-sheet:not(.fsb-inline) .fsb-group.is-expanded > .fsb-group-toggle { box-shadow: inset 0 0 0 2px rgba(128,128,128,.2); }

    /* badge: akış içinde, metnin sağında */
    .fsb-m-sheet:not(.fsb-inline) .fsb-badge-tip {
        position: static; margin-left: 8px; top: auto; right: auto; left: auto; align-self: center; flex: 0 0 auto;
    }

    /* kaydırma çubuğu gizli (parmakla kaydırılır) */
    .fsb-panel-wrap { scrollbar-width: none; -ms-overflow-style: none; }
    .fsb-panel-wrap::-webkit-scrollbar { width: 0; height: 0; display: none; }

    /* ============================================================
       2) MOD: "Mobil panel" (.fsb-m-sheet) — alttan sabit sheet
       Panel konumu is-open'dan BAĞIMSIZ hazırlanır (a maddesi).
       ============================================================ */
    /* PANEL: gömülü olmayan HER mobil bar için sabit bottom-sheet.
       (Hem "Mobil panel" hem "Masaüstü gibi" modu bunu paylaşır.)
       Konum is-open'dan BAĞIMSIZ; görünürlük is-open ile. */
    .fsb-m-sheet:not(.fsb-inline) .fsb-panel-wrap {
        position: fixed;
        left: 12px; right: 12px;
        bottom: calc(var(--fsb-bottom, 16px) + var(--fsb-main-h-m, 48px) + 18px);
        width: auto; max-width: none;
        max-height: 85vh;
        overflow-y: auto; overflow-x: hidden;
        -webkit-overflow-scrolling: touch; scroll-behavior: smooth;
        overscroll-behavior: contain;
        background: var(--fsb-panel-bg, #fff);
        border-radius: 20px;
        padding: 14px 12px;
        box-shadow: 0 -4px 24px rgba(0,0,0,.16), 0 18px 50px rgba(0,0,0,.28);
        z-index: 2147483645;
        transform: none;
        opacity: 0; visibility: hidden; pointer-events: none;
        transition: opacity .26s ease, visibility .26s ease;
    }
    .fsb-m-sheet.is-open:not(.fsb-inline) .fsb-panel-wrap {
        opacity: 1; visibility: visible; pointer-events: auto;
        animation: fsb-sheet-in .28s cubic-bezier(.34,1.4,.5,1);
    }
    @keyframes fsb-sheet-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }

    /* üst tutaç çizgisi */
    .fsb-m-sheet:not(.fsb-inline) .fsb-panel-wrap::before {
        content: ""; position: sticky; top: 0; display: block;
        width: 40px; height: 4px; margin: -4px auto 12px; border-radius: 4px;
        background: rgba(128,128,128,.35);
    }

    /* üst konumlarda panel üstte açılır */
    .fsb-m-sheet.fsb-pos-top-left:not(.fsb-inline) .fsb-panel-wrap,
    .fsb-m-sheet.fsb-pos-top-right:not(.fsb-inline) .fsb-panel-wrap {
        bottom: auto; top: calc(var(--fsb-bottom, 16px) + var(--fsb-main-h-m, 48px) + 18px);
    }
    /* orta konumlarda ana buton ortalanır */
    .fsb-m-sheet.fsb-pos-center { left: 50%; top: auto; bottom: var(--fsb-bottom,16px); transform: translateX(-50%); }
    .fsb-m-sheet.fsb-pos-center-left,
    .fsb-m-sheet.fsb-pos-center-right { top: 50%; transform: translateY(-50%); }

    /* kısayol modunda panel arka planı yoksa okunur koyu zemin */
    .fsb-m-sheet.fsb-mode-shortcut:not(.fsb-inline):not(.fsb-has-panel) .fsb-panel-wrap {
        background: rgba(22,26,36,.97);
    }

    /* alt menü arka planı (kullanıcı "mobil"/"her ikisi" seçtiyse) */
    .fsb-m-sheet.fsb-sub-has-bg.fsb-subbg-mobile.is-open:not(.fsb-inline) .fsb-group.is-expanded > .fsb-sublist,
    .fsb-m-sheet.fsb-sub-has-bg.fsb-subbg-both.is-open:not(.fsb-inline) .fsb-group.is-expanded > .fsb-sublist {
        background: var(--fsb-sub-bg, rgba(255,255,255,.96));
        border-radius: var(--fsb-sub-radius, 16px);
        padding: 8px;
        border-left: none; margin-left: 0;
        box-sizing: border-box; width: 100%; max-width: 100%;
    }

    /* ============================================================
       3) MOD: "Masaüstü gibi" (.fsb-view-desktop)
       MOBİLDE de MASAÜSTÜ düzeni: bottom-sheet YOK (yukarıdaki kurallar
       .fsb-m-sheet ile sınırlı, bu modu kapsamaz). Ana butonun yanında açılan
       dikey yüzen şerit. Boyutlar mobil-masaüstü değişkenlerinden gelir,
       içerik EKRAN İÇİNDE kalır (taşma kesilmez, taşarsa kaydırılır). ============================================================ */
    .fsb-view-desktop .fsb-btn { --w: var(--fsb-iw-m, var(--fsb-item-w-m, var(--fsb-item-w, 56px))); --h: var(--fsb-ih-m, var(--fsb-item-h-m, var(--fsb-item-h, 56px))); }
    .fsb-view-desktop .fsb-main { --w: var(--fsb-main-w-m, var(--fsb-main-w, 56px)); --h: var(--fsb-main-h-m, var(--fsb-main-h, 56px)); }
    .fsb-view-desktop .fsb-tooltip { display: block; }
    /* alt kategori boyutu mobilde mobil alt-boyut değişkeninden (genel kuralı ezer) */
    .fsb-view-desktop .fsb-sublist .fsb-btn {
        --w: var(--fsb-subi-w-m, var(--fsb-subi-w, var(--fsb-item-w, 56px))) !important;
        --h: var(--fsb-subi-h-m, var(--fsb-subi-h, var(--fsb-item-h, 56px))) !important;
    }
    /* açık menü ve alt menüler EKRAN İÇİNDE kalsın (sağ/sol kenardan taşıp kesilmesin) */
    .fsb-view-desktop.is-open .fsb-list { max-width: calc(100vw - 24px); }
    .fsb-view-desktop.is-open .fsb-group.is-expanded > .fsb-sublist {
        max-width: 90vw; max-height: 80vh;
        overflow: auto; -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .fsb-view-desktop.is-open .fsb-group.is-expanded > .fsb-sublist::-webkit-scrollbar { width: 0; height: 0; display: none; }

    /* ============================================================
       4) POP-UP modal: alttan yükselen sheet, neredeyse tam genişlik
       ============================================================ */
    .fsb-modal-box {
        width: calc(100vw - 20px); max-height: 88vh;
        top: auto; bottom: 10px; left: 50%; transform: translateX(-50%);
        border-radius: 20px; padding: 22px 18px 24px;
        animation: fsb-modal-up .28s cubic-bezier(.34,1.4,.5,1);
    }
    @keyframes fsb-modal-up { from { opacity: 0; transform: translate(-50%, 24px); } to { opacity: 1; transform: translateX(-50%); } }
}


@media print { .fsb-bar { display: none !important; } }
@media (prefers-reduced-motion: reduce) {
    .fsb-main, .fsb-hl-pulse, .fsb-hl-glow, .fsb-hl-shake, .fsb-hl-bounce,
    .fsb-bar:not(.is-open).fsb-attn-pulse .fsb-main,
    .fsb-bar:not(.is-open).fsb-attn-shadow .fsb-main,
    .fsb-bar:not(.is-open).fsb-attn-bounce .fsb-main { animation: none !important; }
    .fsb-sublist, .fsb-panel-wrap { scroll-behavior: auto; }
    .fsb-li, .fsb-panel-wrap, .fsb-modal-box, .fsb-modal-overlay, .fsb-bar { animation: none !important; transition: opacity .12s ease !important; }
}

/* ===== RTL (sağdan sola diller: Arapça, İbranice, Farsça) ===== */
[dir="rtl"] .fsb-mode-menu .fsb-badge-tip { margin-left: 0; margin-right: auto; }
[dir="rtl"] .fsb-main.fsb-has-text { flex-direction: row-reverse; }
[dir="rtl"] .fsb-btn.fsb-has-txt { justify-content: flex-end; text-align: right; }
[dir="rtl"] .fsb-bar.is-open:not(.fsb-inline) .fsb-li > .fsb-btn { justify-content: flex-start; flex-direction: row-reverse; }
[dir="rtl"] .fsb-modal-close { right: auto; left: 12px; }
[dir="rtl"] .fsb-modal-title { margin: 0 0 14px 30px; }
[dir="rtl"] .fsb-bar.is-open:not(.fsb-inline) .fsb-sublist { padding: 0 12px 0 0; }
