/* Site efektleri (Panel → Site ve ekip → Renk, şekil ve logo → Efektler). <html data-fx-*> işaretlerine göre çalışır. */
::selection { background: rgb(var(--a1r, 255 31 79) / .35); color: #fff; }

/* ---- doku: sitenin üstünde ince bir katman ---- */
html[data-fx-doku] body::after { content: ""; position: fixed; inset: -50%; z-index: 9990; pointer-events: none; }
html[data-fx-doku="gren"] body::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); opacity: .09; mix-blend-mode: overlay; animation: fxgren .9s steps(4) infinite; }
@keyframes fxgren { 0% { transform: translate(0, 0); } 25% { transform: translate(-3%, 2%); } 50% { transform: translate(2%, -3%); } 75% { transform: translate(-1%, -1%); } 100% { transform: translate(3%, 1%); } }
html[data-fx-doku="kagit"] body::after { inset: 0; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.04 .5' numOctaves='4' seed='3'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .96 0 0 0 0 .9 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E"); opacity: .07; mix-blend-mode: soft-light; }
html[data-fx-doku="izgara"] body::after { inset: 0; background-image: linear-gradient(rgb(var(--a1r, 255 31 79) / .07) 1px, transparent 1px), linear-gradient(90deg, rgb(var(--a1r, 255 31 79) / .07) 1px, transparent 1px); background-size: 28px 28px; -webkit-mask: radial-gradient(ellipse 90% 70% at 50% 20%, #000, transparent); mask: radial-gradient(ellipse 90% 70% at 50% 20%, #000, transparent); }
html[data-fx-doku="nokta"] body::after { inset: 0; background-image: radial-gradient(rgba(255, 255, 255, .11) 1.1px, transparent 1.3px); background-size: 22px 22px; -webkit-mask: linear-gradient(#000 40%, transparent); mask: linear-gradient(#000 40%, transparent); }
html[data-fx-doku="tarama"] body::after { inset: 0; background: repeating-linear-gradient(0deg, rgba(0, 0, 0, .22) 0 1px, transparent 1px 3px); mix-blend-mode: multiply; }
html[data-fx-doku="tarama"] body::before { content: ""; position: fixed; inset: 0; z-index: 9989; pointer-events: none; background: radial-gradient(ellipse at center, transparent 55%, rgba(0, 0, 0, .45)); }

/* ---- başlıklar ---- */
html[data-fx-baslik="cizgi"] :is(.sh h2, .jb h2, .bk-txt h2, .sy-hd h1) { position: relative; display: inline-block; }
html[data-fx-baslik="cizgi"] :is(.sh h2, .jb h2, .bk-txt h2, .sy-hd h1)::after { content: ""; position: absolute; left: -2%; right: -2%; bottom: -.18em; height: .32em; background: var(--a1, #ff1f4f); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 20' preserveAspectRatio='none'%3E%3Cpath d='M3 13c40-8 85-10 128-7 46 3 90 6 166-4' fill='none' stroke='%23000' stroke-width='5' stroke-linecap='round'/%3E%3Cpath d='M30 17c50-5 120-6 220-4' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' opacity='.7'/%3E%3C/svg%3E") center / 100% 100% no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 20' preserveAspectRatio='none'%3E%3Cpath d='M3 13c40-8 85-10 128-7 46 3 90 6 166-4' fill='none' stroke='%23000' stroke-width='5' stroke-linecap='round'/%3E%3Cpath d='M30 17c50-5 120-6 220-4' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' opacity='.7'/%3E%3C/svg%3E") center / 100% 100% no-repeat; transform-origin: left; transform: scaleX(0); transition: transform .9s cubic-bezier(.6, 0, .2, 1) .25s; }
html[data-fx-baslik="cizgi"] :is(.sh.in h2, .jb.in h2, .bk-txt.in h2, .sy-hd h1)::after, html.pv[data-fx-baslik="cizgi"] :is(.sh h2, .jb h2, .bk-txt h2)::after { transform: scaleX(1); }
html[data-fx-baslik="vurgu"] :is(.sh h2, .jb h2, .bk-txt h2, .sy-hd h1) { display: inline; background: linear-gradient(104deg, transparent .6em, rgb(var(--a1r, 255 31 79) / .38) .7em, rgb(var(--a1r, 255 31 79) / .3) 96%, transparent) 0 88% / 100% .42em no-repeat; -webkit-box-decoration-break: clone; box-decoration-break: clone; padding: 0 .12em; }
html[data-fx-baslik="parilti"] :is(.sh h2, .jb h2, .bk-txt h2, .sy-hd h1, h1.title span) { background: linear-gradient(100deg, var(--txt, #fff) 35%, var(--a1l, #ff8aa5) 48%, #fff 52%, var(--txt, #fff) 65%) 0 0 / 250% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: fxshine 5s ease-in-out infinite; }
@keyframes fxshine { 0%, 40% { background-position: 120% 0; } 100% { background-position: -120% 0; } }
html[data-fx-baslik="glitch"] :is(.sh h2, .jb h2, .bk-txt h2, .sy-hd h1) { position: relative; }
html[data-fx-baslik="glitch"] :is(.sh h2, .jb h2, .bk-txt h2, .sy-hd h1)::before, html[data-fx-baslik="glitch"] :is(.sh h2, .jb h2, .bk-txt h2, .sy-hd h1)::after { content: attr(data-fxt); position: absolute; inset: 0; pointer-events: none; opacity: 0; }
html[data-fx-baslik="glitch"] :is(.sh h2, .jb h2, .bk-txt h2, .sy-hd h1):hover::before { opacity: .8; color: var(--a1, #ff1f4f); animation: fxg1 .35s steps(2) infinite; }
html[data-fx-baslik="glitch"] :is(.sh h2, .jb h2, .bk-txt h2, .sy-hd h1):hover::after { opacity: .8; color: #29e6ff; animation: fxg2 .3s steps(2) infinite; }
@keyframes fxg1 { 0% { clip-path: inset(0 0 60% 0); transform: translate(-3px, -1px); } 100% { clip-path: inset(40% 0 20% 0); transform: translate(3px, 1px); } }
@keyframes fxg2 { 0% { clip-path: inset(55% 0 0 0); transform: translate(3px, 1px); } 100% { clip-path: inset(10% 0 60% 0); transform: translate(-2px, -1px); } }
.fx-caret { display: inline-block; width: .08em; height: .9em; margin-left: .06em; vertical-align: -.05em; background: var(--a1, #ff1f4f); animation: fxcar 1s steps(1) infinite; }
@keyframes fxcar { 50% { opacity: 0; } }

/* ---- küçük üst yazılar (kick) ---- */
html[data-fx-etiket="cikartma"] .kick { padding: 6px 12px 5px; border-radius: 6px; background: var(--a1, #ff1f4f); color: #fff; letter-spacing: .1em; transform: rotate(-2.5deg); box-shadow: 3px 3px 0 rgba(0, 0, 0, .55); }
html[data-fx-etiket="cikartma"] .kick::before, html[data-fx-etiket="cikartma"] .kick::after { display: none; }
html[data-fx-etiket="cikartma"] .shc:nth-child(even) .kick, html[data-fx-etiket="cikartma"] section:nth-of-type(even) .kick { transform: rotate(2deg); }
html[data-fx-etiket="kutu"] .kick { padding: 5px 10px; border: 1.5px solid currentColor; border-radius: 0; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .06em; }
html[data-fx-etiket="kutu"] .kick::before { content: "["; width: auto; height: auto; background: none; } html[data-fx-etiket="kutu"] .kick::after { content: "]"; width: auto; height: auto; background: none; transform: none; }

/* ---- gölge ---- */
html[data-fx-golge="sert"] :is(.shc, .pj, .bot, .kc, .bk-f, .bk-rv, .bk-sv, .pj-box, .bk-cta, .bk-dc, .sy-qs details) { box-shadow: 6px 6px 0 rgb(var(--a1r, 255 31 79) / .85) !important; border-color: rgb(var(--a1r, 255 31 79) / .7) !important; }
html[data-fx-golge="sert"] .btn { box-shadow: 4px 4px 0 rgba(0, 0, 0, .7) !important; }
html[data-fx-golge="yok"] :is(.shc, .pj, .bot, .kc, .bk-f, .bk-rv, .bk-sv, .pj-box, .bk-cta, .bk-dc, .btn) { box-shadow: none !important; }

/* ---- kartlar ---- */
html[data-fx-kart] :is(.shc, .pj, .bot, .kc, .bk-f, .bk-rv, .bk-sv, .pj-box) { transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s, border-color .35s; }
html[data-fx-kart="kalk"] :is(.shc, .pj, .bot, .kc, .bk-f, .bk-rv, .bk-sv, .pj-box):hover { transform: translateY(-6px); }
html[data-fx-kart="egim"] :is(.shc, .pj, .bot, .kc, .bk-f, .bk-rv, .bk-sv, .pj-box) { transform: perspective(900px) rotateX(var(--fx-rx, 0deg)) rotateY(var(--fx-ry, 0deg)); transform-style: preserve-3d; }
html[data-fx-kart="isik"] :is(.shc, .pj, .bot, .kc, .bk-f, .bk-rv, .bk-sv, .pj-box) { position: relative; isolation: isolate; }
html[data-fx-kart="isik"] :is(.shc, .pj, .bot, .kc, .bk-f, .bk-rv, .bk-sv, .pj-box)::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 2; opacity: 0; transition: opacity .3s; background: radial-gradient(360px circle at var(--fx-mx, 50%) var(--fx-my, 50%), rgb(var(--a1r, 255 31 79) / .16), transparent 45%); }
html[data-fx-kart="isik"] :is(.shc, .pj, .bot, .kc, .bk-f, .bk-rv, .bk-sv, .pj-box):hover::after { opacity: 1; }

/* ---- düğmeler ---- */
html[data-fx-dugme="miknatis"] .btn { transition: translate .25s cubic-bezier(.2, .8, .2, 1), background .2s, box-shadow .2s; translate: var(--fx-bx, 0) var(--fx-by, 0); }
html[data-fx-dugme="bas"] .btn { border: 2px solid rgba(0, 0, 0, .55) !important; box-shadow: 0 5px 0 rgba(0, 0, 0, .55) !important; transition: transform .08s, box-shadow .08s; }
html[data-fx-dugme="bas"] .btn:hover { transform: translateY(-1px); box-shadow: 0 6px 0 rgba(0, 0, 0, .55) !important; }
html[data-fx-dugme="bas"] .btn:active { transform: translateY(4px); box-shadow: 0 1px 0 rgba(0, 0, 0, .55) !important; }

/* ---- kaydırınca beliren ---- */
html[data-fx-kaydir="yukari"] .rv { transform: translateY(48px); transition-duration: .9s; }
html[data-fx-kaydir="olcek"] .rv { transform: scale(.92); transform-origin: 50% 80%; }
html[data-fx-kaydir="bulanik"] .rv { transform: translateY(10px); filter: blur(10px); transition: opacity .9s, transform .9s, filter .9s cubic-bezier(.2, .8, .2, 1); }
html[data-fx-kaydir="bulanik"] .rv.in { filter: none; }
html[data-fx-kaydir] .rv.in { transform: none; }
html[data-fx-kaydir="yok"] .rv { opacity: 1 !important; transform: none !important; transition: none !important; }

/* ---- imleç ---- */
.fx-cur, .fx-ring, .fx-spot, .fx-trail { position: fixed; left: 0; top: 0; pointer-events: none; z-index: 9995; }
.fx-cur { width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 50%; background: var(--a1, #ff1f4f); }
.fx-ring { width: 36px; height: 36px; margin: -18px 0 0 -18px; border-radius: 50%; border: 1.5px solid rgb(var(--a1r, 255 31 79) / .7); transition: width .25s, height .25s, margin .25s, background .25s, border-color .25s; }
.fx-ring.big { width: 60px; height: 60px; margin: -30px 0 0 -30px; background: rgb(var(--a1r, 255 31 79) / .1); border-color: var(--a1, #ff1f4f); }
html.fx-hidecur, html.fx-hidecur * { cursor: none !important; }
.fx-spot { inset: 0; background: radial-gradient(260px circle at var(--fx-cx, -999px) var(--fx-cy, -999px), rgb(var(--a1r, 255 31 79) / .13), transparent 70%); mix-blend-mode: screen; }
.fx-trail { inset: 0; width: 100vw; height: 100vh; }
@media (hover: none), (pointer: coarse) { .fx-cur, .fx-ring, .fx-spot, .fx-trail { display: none !important; } html.fx-hidecur, html.fx-hidecur * { cursor: auto !important; } }
@media (prefers-reduced-motion: reduce) {
  html[data-fx-doku] body::after { animation: none; }
  html[data-fx-baslik] * { animation: none !important; }
  .fx-ring, .fx-cur, .fx-trail { display: none !important; } html.fx-hidecur, html.fx-hidecur * { cursor: auto !important; }
}
