@font-face { font-family:"Outfit"; src:url("/fonts/outfit-800.woff2") format("woff2"); font-weight:800; font-display:block }

/* Tema: freshpornsites tarzı — dark, kırmızı accent, Outfit başlık fontu */
:root {
  color-scheme: dark;
  --bg:#0f1113; --surface:#16191c; --surface-raised:#1e2226;
  --text:#f3f2f0; --muted:#a6a49f; --faint:#6f6d68;
  --accent:#ff4d5e; --accent-hover:#ff6b78; --accent-ink:#23070a;
  --line:#2a2e32; --line-soft:#f3f2f017; --radius:6px;
  --display:"Outfit", ui-sans-serif, "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
  --body: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}
:root[data-theme="light"] { color-scheme:light;
  --bg:#faf8f5; --surface:#ffffff; --surface-raised:#f1ede7;
  --text:#1c1b19; --muted:#5c5a55; --faint:#8f8d88;
  --accent:#e02e40; --accent-hover:#c22334;
  --line:#ddd8d0; --line-soft:#1c1b1912;
}
* { box-sizing:border-box }
body { margin:0; background:var(--bg); color:var(--text); font-family:var(--body); text-rendering:optimizelegibility; font-size:16px; line-height:1.6; transition:background-color .18s, color .18s }
h1, h2, h3 { font-family:var(--display); text-wrap:balance; font-synthesis-weight:none; margin-top:0; line-height:1.1 }
a { color:inherit }
.wrap { width:min(1180px, 92vw); margin:0 auto }

/* Header */
.site-header { border-bottom:1px solid var(--line); background:var(--bg); position:relative; z-index:20 }
.header-inner { display:flex; align-items:center; gap:22px; min-height:58px }
.logo { font-family:var(--display); white-space:nowrap; flex:none; font-size:1.15rem; font-weight:800; text-decoration:none; letter-spacing:-.02em; transition:color .16s }
.logo:hover { color:var(--accent) }
.logo b { color:var(--accent); transition:color .16s }
.logo:hover b { color:var(--text) }
.main-menu { display:flex; gap:18px }
.main-menu a { color:var(--muted); text-decoration:none; font-size:.86rem; font-weight:600 }
.main-menu a:hover { color:var(--text) }
@media (max-width:860px){ .main-menu{display:none} }

/* Hero */
.hero { padding:clamp(40px,7vw,84px) 0 10px }
.kicker { color:var(--accent); font-weight:750; letter-spacing:.14em; text-transform:uppercase; font-size:.72rem; margin:0 0 14px }
.hero h1 { font-family:var(--display); font-weight:800; letter-spacing:-.025em; font-size:clamp(1.9rem,4.4vw,3.3rem); line-height:1.08; margin:0 }
.lede { color:var(--muted); max-width:56ch; font-size:clamp(.95rem,1.4vw,1.08rem) }
.lede a { color:var(--text) }

/* Badge legend */
.badge-legend { display:flex; flex-wrap:wrap; gap:8px 18px; align-items:center; padding:14px 0 26px; font-size:.78rem; color:var(--faint) }
.legend-item { display:inline-flex; gap:6px; align-items:center; cursor:help }
.badge-icon { display:inline-flex; width:.9em; height:.9em }
.badge-icon svg { width:100%; height:100%; display:block }

/* Kategori grid */
.category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,2.5vw,28px) }
@media (max-width:1080px){ .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:760px){ .category-grid{grid-template-columns:1fr} }
.category-block { border:1px solid var(--line-soft); border-radius:calc(var(--radius) + 6px); background:color-mix(in srgb, var(--surface) 82%, var(--bg)); padding:clamp(18px,2.4vw,26px); display:grid; grid-template-rows:auto 1fr auto; min-width:0 }
.block-head h2 { margin:0; font-family:var(--display); font-size:clamp(1.05rem,1.55vw,1.28rem); letter-spacing:-.01em }
.block-head p { color:var(--muted); margin:6px 0 0; font-size:.78rem; line-height:1.45 }
.rows { display:grid; align-content:start; overflow-y:auto; max-height:462px; scrollbar-width:thin; scrollbar-color:var(--line) transparent }
.rows .site-row + .site-row { border-top:1px solid var(--line) }
.see-all { border:1px solid var(--line-soft); border-radius:var(--radius); background:var(--surface-raised); color:var(--accent); text-decoration:none; font-weight:750; font-size:.78rem; padding:8px 12px; margin-top:14px; justify-self:start; display:inline-flex; align-items:center; white-space:nowrap }
.see-all:hover { border-color:var(--accent) }

/* Site satırı */
.site-row.has-rank { display:grid; grid-template-columns:28px minmax(0,1fr) 44px; grid-template-areas:"rank body actions"; align-items:center; gap:6px; padding:9px 0 }
.rank { grid-area:rank; color:var(--faint); font-variant-numeric:tabular-nums; font-size:.75rem; font-weight:750; letter-spacing:.04em }
.site-row .body { grid-area:body; min-width:0 }
.head { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px 10px }
.head h3 { margin:0; font-size:1rem; letter-spacing:-.01em; display:inline-flex; align-items:center; gap:6px; overflow-wrap:anywhere }
.head h3 a { text-decoration:none }
.head h3 a:hover { color:var(--accent) }
.score { margin-left:auto; color:var(--accent); font-family:var(--display); font-variant-numeric:tabular-nums; white-space:nowrap; font-size:.92rem }
.score small { color:var(--faint); font-size:.72rem }
.visit-link { grid-area:actions; color:var(--accent); text-decoration:none; font-weight:800; display:inline-flex; justify-content:center }
.visit-link:hover { color:var(--accent-hover); transform:translate(1px,-1px) }

/* Kategori listesi sayfası */
.page-title { padding:clamp(34px,5vw,60px) 0 8px }
.page-title h1 { font-family:var(--display); font-size:clamp(1.7rem,3.4vw,2.6rem); letter-spacing:-.02em; margin:0 }
.cat-desc { color:var(--muted); max-width:62ch }
.list-page .site-row.has-rank { padding:13px 0; border-bottom:1px solid var(--line) }
.notes { color:var(--muted); font-size:.85rem; margin:4px 0 0; max-width:70ch }
.sponsored-tag { color:var(--faint); font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; border:1px solid var(--line); border-radius:4px; padding:1px 5px }

/* Footer */
footer { border-top:1px solid var(--line-soft); margin-top:64px; padding:26px 0; color:var(--faint); font-size:.82rem }

/* Admin */
.admin-body { background:var(--bg) }
table.admin { width:100%; border-collapse:collapse; font-size:.88rem }
table.admin th, table.admin td { text-align:left; padding:8px 10px; border-bottom:1px solid var(--line) }
table.admin th { color:var(--muted); font-weight:650 }
.btn { background:var(--accent); color:var(--accent-ink); border:0; border-radius:var(--radius); font-weight:750; padding:9px 16px; cursor:pointer; text-decoration:none; display:inline-block }
.btn.quiet { background:var(--surface-raised); color:var(--text); border:1px solid var(--line) }
input[type=text], input[type=url], input[type=number], select, textarea {
  background:var(--surface-raised); border:1px solid var(--line); border-radius:var(--radius);
  color:var(--text); padding:8px 10px; font:inherit; width:100%
}
.field { margin-bottom:14px }
.field label { display:block; font-size:.8rem; color:var(--muted); margin-bottom:5px }
.card-form { background:var(--surface); border:1px solid var(--line-soft); border-radius:calc(var(--radius)+6px); padding:22px; max-width:640px }
.flash { background:#12331b; color:#9fe8b3; border:1px solid #1e5c30; border-radius:var(--radius); padding:10px 14px; margin:14px 0 }

/* Header ekstraları */
.header-search { margin-left:auto }
.header-actions { display:flex; align-items:center; gap:10px; margin-left:14px }
.search { width:min(220px,30vw); position:relative }
.search input[type=search] { border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); width:100%; min-height:38px; color:var(--text); font:inherit; padding:6px 10px }
.search input:focus-visible { outline:2px solid var(--accent) }
.search-results { z-index:5; background:var(--surface-raised); border:1px solid var(--line); border-radius:var(--radius); margin:0; padding:4px; list-style:none; position:absolute; top:calc(100% + 4px); left:0; right:0 }
.search-results a { color:var(--text); border-radius:4px; padding:6px 8px; text-decoration:none; display:block }
.search-results a:hover { background:var(--surface) }
.theme-toggle, .menu-toggle { background:none; border:1px solid var(--line); border-radius:var(--radius); color:var(--muted); min-height:34px; min-width:34px; cursor:pointer; font-size:.95rem }
.theme-toggle:hover, .menu-toggle:hover { color:var(--text); border-color:var(--accent) }
.menu-toggle { display:none }

.mobile-menu { border-top:1px solid var(--line); background:var(--surface); display:none }
.mobile-menu.is-open { display:block }
@media (max-width:860px){
  .menu-toggle{display:inline-flex}
}
@media (max-width:860px){ .mobile-menu.is-open { display:block } }
.mobile-menu-inner { padding:14px 0 20px }
.mobile-menu-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 0 8px }
.mobile-menu-head h2 { margin:0 }
.theme-toggle.mobile { position:static; width:38px; height:38px; border:1px solid var(--line); border-radius:var(--radius); background:transparent; color:var(--text); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; padding:0 }
.theme-toggle.mobile:hover { border-color:var(--accent); color:var(--accent) }
.lang-select { position:relative }
.lang-btn { background:transparent; border:1px solid var(--line); color:var(--text); border-radius:var(--radius); height:38px; padding:0 10px; cursor:pointer; font-size:.82rem; font-weight:600; display:inline-flex; align-items:center; gap:5px }
.lang-btn:hover { border-color:var(--accent); color:var(--accent) }
.lang-menu { position:absolute; top:44px; right:0; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:6px; min-width:150px; list-style:none; margin:0; z-index:30; box-shadow:0 8px 24px rgba(0,0,0,.25) }
.lang-menu li a { display:block; padding:7px 10px; color:var(--muted); text-decoration:none; border-radius:6px; font-size:.88rem }
.lang-menu li a:hover { background:var(--bg); color:var(--accent) }
.mobile-menu-inner h2 { color:var(--faint); letter-spacing:.09em; text-transform:uppercase; margin:0 0 8px; font-size:.7rem }
.mobile-menu-inner ul { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 16px }
@media (max-width:560px){ .mobile-menu-inner ul{grid-template-columns:1fr} }
.mobile-menu-inner li a { min-height:44px; color:var(--muted); justify-content:space-between; align-items:center; gap:8px; padding:7px 0; font-size:.9rem; text-decoration:none; display:flex }
.mobile-menu-inner li a:hover { color:var(--accent) }
.mobile-menu-inner .count { color:var(--faint); font-variant-numeric:tabular-nums; font-size:.78rem }
#about .about-article { max-width:none }
.about-article h2 { color:var(--text); font-family:var(--display); margin-top:28px }
.about-article p, .about-article li { color:var(--muted); line-height:1.65 }
.contact-form { max-width:560px; display:flex; flex-direction:column; gap:14px; margin:8px 0 24px }
.contact-form label { display:flex; flex-direction:column; gap:5px; font-weight:600; font-size:.9rem; color:var(--muted) }
.contact-form input, .contact-form textarea { background:var(--bg); border:1px solid var(--line); border-radius:var(--radius); color:var(--text); padding:10px 12px; font:inherit; font-weight:400 }
.contact-form textarea { resize:vertical }
.contact-form .button { align-self:flex-start; margin-top:4px }
.notice-success { background:rgba(124,252,155,.12); border:1px solid #7CFC9B; color:#7CFC9B; padding:12px 14px; border-radius:var(--radius) }
.notice-error { background:rgba(255,77,94,.12); border:1px solid var(--accent); color:#ff8090; padding:12px 14px; border-radius:var(--radius) }
.contact-intro { color:var(--muted); line-height:1.65; max-width:620px; margin:0 0 22px; font-size:1.02rem }
.changelog { list-style:none; padding:0; margin:0 }
.changelog li { padding:10px 0; border-bottom:1px solid var(--line); display:flex; gap:14px }
.changelog .date { color:var(--accent); font-weight:700; font-size:.82rem; white-space:nowrap; min-width:64px }

/* ============ Kategori sayfası: sol nav + kart grid ============ */
.category-layout { display:grid; grid-template-columns:minmax(190px,238px) minmax(0,1fr); align-items:start; gap:clamp(30px,4vw,64px); padding-bottom:40px }
.category-main { min-width:0 }
.category-nav { font-size:.87rem; position:sticky; top:20px }
.category-nav .nav-label { color:var(--muted); letter-spacing:.08em; text-transform:uppercase; margin:0 0 6px; font-size:.68rem; font-weight:750 }
.category-nav ul { list-style:none; margin:0; padding:0 0 4px; display:grid; gap:1px }
.category-nav a { border-radius:var(--radius); min-height:44px; color:var(--muted); justify-content:space-between; align-items:center; gap:12px; padding:6px 10px; line-height:1.3; text-decoration:none; transition:color .16s, background-color .16s; display:flex }
.category-nav a:hover { color:var(--text); background:var(--surface) }
.category-nav a.current { color:var(--accent); background:var(--surface-raised); font-weight:750 }
.category-nav .count { color:var(--faint); font-variant-numeric:tabular-nums; flex:none; font-size:.76rem }
@media (max-width:1020px){ .category-layout{grid-template-columns:1fr; gap:22px} .category-nav{display:none} }

.cat-hero { max-width:760px; padding:0 0 clamp(20px,3vw,32px) }
.cat-hero h1 { font-family:var(--display); letter-spacing:-.02em; font-size:clamp(1.8rem,3.4vw,2.6rem); margin:10px 0 16px }
.cat-hero .prose p { color:var(--muted); max-width:62ch }
.cat-hero .meta { margin:18px 0 0; font-size:.88rem }
.cat-hero .meta a { color:var(--text); font-weight:700 }

/* Kart grid — kategoride 2 kolon */
.site-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px }
@media (max-width:768px){ .site-grid{grid-template-columns:1fr} }

.site-card { border:1px solid var(--line-soft); border-radius:calc(var(--radius) + 6px); background:color-mix(in srgb, var(--surface) 82%, var(--bg)); overflow:hidden; display:flex; flex-direction:column }
.site-card .thumb { position:relative; aspect-ratio:16/9; background:var(--surface-raised); display:flex; align-items:center; justify-content:center; text-decoration:none; overflow:hidden }
.site-card .thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .2s }
.site-card .thumb:hover img { transform:scale(1.03) }
.thumb-letter { color:var(--accent); font-family:var(--display); font-size:2.4rem; font-weight:800 }
.pill { position:absolute; top:8px; left:8px; z-index:2 }
.rank-pill { background:var(--accent); color:var(--accent-ink); border-radius:99px; font-size:.72rem; font-weight:800; padding:2px 9px; font-variant-numeric:tabular-nums }
.site-card .card-body { padding:14px 16px 12px; display:flex; flex-direction:column; gap:7px; flex:1 }
.site-card h3 { margin:0; font-size:1.02rem; letter-spacing:-.01em; display:flex; align-items:center; gap:6px }
.site-card h3 a { text-decoration:none }
.site-card h3 a:hover { color:var(--accent) }
.site-card .card-body > p { color:var(--muted); font-size:.84rem; line-height:1.5; margin:0; flex:1 }
.card-footer { display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--line-soft); padding-top:9px; margin-top:2px }
.card-footer .score b { color:var(--accent); font-family:var(--display); font-size:1rem }
.card-footer .score small { color:var(--faint); font-size:.74rem }
.visit-link { color:var(--accent); font-weight:750; text-decoration:none; font-size:1.05rem; line-height:1 }
.visit-link:hover { color:var(--accent-hover) }

/* ============ Review sayfası: sidebar + main ============ */
.rev-layout { display:grid; grid-template-columns:minmax(250px,300px) minmax(0,1fr); align-items:start; gap:clamp(28px,4vw,56px); padding-top:clamp(24px,4vw,44px); padding-bottom:20px }
.rev-side { position:sticky; top:78px; display:grid; gap:12px }
.side-card { border:1px solid var(--line-soft); border-radius:calc(var(--radius) + 6px); background:color-mix(in srgb, var(--surface) 82%, var(--bg)); overflow:hidden }
.thumb-card img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block }
.thumb-card .thumb-letter { display:flex; align-items:center; justify-content:center; aspect-ratio:16/9; font-family:var(--display); font-size:3rem; font-weight:800; color:var(--accent) }
.visit-btn { display:block; text-align:center; background:var(--accent); color:var(--accent-ink); font-weight:800; text-decoration:none; padding:12px; border-radius:calc(var(--radius) + 6px); transition:background .15s }
.visit-btn:hover { background:var(--accent-hover) }
.rating-card { padding:18px }
.rating-overall { display:flex; align-items:baseline; gap:7px; border-bottom:1px solid var(--line-soft); padding-bottom:12px; margin-bottom:12px }
.rating-overall span { color:var(--muted); font-size:.85rem }
.rating-overall strong { color:var(--accent); font-family:var(--display); font-size:2.1rem; line-height:1; margin-left:auto }
.rating-overall small { color:var(--faint) }
.rating-subs div { display:flex; justify-content:space-between; padding:4px 0; font-size:.88rem }
.rating-subs dt { color:var(--muted) }
.rating-subs dd { margin:0; font-variant-numeric:tabular-nums; font-weight:650 }
.rating-extra { margin:12px 0 0; border-top:1px solid var(--line-soft); padding-top:12px }
.rating-extra dt { color:var(--muted); font-size:.78rem; font-weight:750; text-transform:uppercase; letter-spacing:.06em; margin-top:10px }
.rating-extra dd { margin:4px 0 0; color:var(--text); font-size:.86rem; line-height:1.5 }
.rating-extra ul { list-style:none; margin:4px 0 0; padding:0 }
.rating-extra li a { color:var(--text); text-decoration:none; display:block; padding:3px 0; font-size:.86rem }
.rating-extra li a:hover { color:var(--accent) }

.rev-main { min-width:0; max-width:760px }
.rev-head h1 { font-family:var(--display); font-size:clamp(2rem,4vw,3rem); letter-spacing:-.02em; margin:4px 0 10px }
.badge { display:inline-flex; align-items:center; gap:6px; border:1px solid var(--line); border-radius:99px; padding:3px 11px; font-size:.8rem; font-weight:700; color:var(--muted) }
.pitch { color:var(--muted); font-size:1.05rem; line-height:1.55; margin:12px 0 0 }
.verdict-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:22px 0 28px }
@media (max-width:700px){ .verdict-grid{grid-template-columns:1fr} }
.verdict-card { position:relative; border:1px solid var(--line-soft); border-left-width:3px; border-radius:calc(var(--radius) + 4px); background:color-mix(in srgb, var(--surface) 82%, var(--bg)); padding:15px 18px 15px 20px; overflow:hidden }
.verdict-card.liked { border-left-color:#7CFC9B }
.verdict-card.bugged { border-left-color:#ff8f5e }
.verdict-card h2 { display:flex; align-items:center; gap:7px; margin:0 0 10px; font-family:var(--display); font-size:.95rem; font-weight:800; letter-spacing:.01em }
.verdict-card.liked h2 { color:#7CFC9B }
.verdict-card.bugged h2 { color:#ff8f5e }
.verdict-card h2::before { content:""; width:14px; height:14px; border-radius:4px; flex:0 0 auto; background:currentColor; -webkit-mask-size:contain; mask-size:contain; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat }
.verdict-card.liked h2::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l4 4L19 7' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l4 4L19 7' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") }
.verdict-card.bugged h2::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6L6 18' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6L6 18' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") }
.verdict-card ul { margin:0; padding-left:18px; color:var(--text); font-size:.88rem; opacity:.9 }
.verdict-card li { margin:6px 0; line-height:1.45 }
.rev-body .prose { color:var(--muted); line-height:1.7; font-size:.97rem }
.rev-body .prose h2 { color:var(--text); font-family:var(--display); font-size:1.35rem; margin:28px 0 10px }
.dblock.feat { border:1px solid var(--line-soft); border-radius:calc(var(--radius) + 6px); background:color-mix(in srgb, var(--surface) 82%, var(--bg)); padding:18px 20px; margin:26px 0 }
.dblock.feat h2 { margin:0 0 12px; font-family:var(--display); font-size:1.05rem; display:flex; align-items:center; gap:7px }
.dblock.feat h2::before { content:""; width:6px; height:18px; border-radius:3px; background:var(--accent); flex:0 0 auto }
.dblock.feat ul { margin:0; padding-left:18px; columns:2; column-gap:28px; color:var(--text); font-size:.88rem; opacity:.9 }
@media (max-width:700px){ .dblock.feat ul{columns:1} }
.dblock.feat li { margin:6px 0; break-inside:avoid; line-height:1.45 }
.cta-row { margin:22px 0 34px }
.button { display:inline-block; background:var(--accent); color:var(--accent-ink); font-weight:800; text-decoration:none; border-radius:var(--radius); padding:12px 22px; transition:background .15s }
.button:hover { background:var(--accent-hover) }

.similar { padding:10px 0 30px }
.similar h2 { font-family:var(--display); font-size:1.4rem; margin:0 0 16px }
.similar .site-grid { grid-template-columns:repeat(3,minmax(0,1fr)) }
@media (max-width:1080px){ .similar .site-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* ============ Anasayfa: hero + rozet efsanesi (orijinal ölçüler) ============ */
.hero { padding:0 0 clamp(24px,3vw,36px) }
.page-shell { padding-top:clamp(24px,4vw,48px) }
.hero h1 { letter-spacing:-.025em; margin:10px 0 0; font-size:clamp(1.45rem,6.6vw,2.9rem); line-height:1.1; font-family:var(--display); font-weight:800 }
.kicker { color:var(--accent); font-weight:750; letter-spacing:.14em; text-transform:uppercase; font-size:.72rem; margin:0 }
.lede { color:var(--muted); margin:14px 0 0; font-size:1rem }
.lede a { color:var(--text) }

.badge-legend { color:var(--faint); flex-wrap:wrap; align-items:center; gap:8px 18px; margin:0 0 clamp(22px,3vw,34px); font-size:.74rem; line-height:1.4; display:flex }
.legend-label { color:var(--muted); letter-spacing:.08em; text-transform:uppercase; font-size:.68rem; font-weight:750 }
.legend-item { white-space:nowrap; cursor:help; align-items:center; gap:5px; display:inline-flex }
.legend-icon { width:.9rem; height:.9rem; display:inline-flex }
.legend-icon svg { width:100%; height:100%; display:block }
.legend-link { color:var(--faint); text-underline-offset:3px; font-size:.74rem; text-decoration:underline }
.legend-link:hover { color:var(--accent) }
.badge-icon { display:inline-flex; width:.95rem; height:.95rem; vertical-align:-1px }
.badge-icon svg { width:100%; height:100% }

/* Kategori blokları */
.category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,2.5vw,28px); display:grid }
@media (max-width:1080px){ .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:760px){ .category-grid{grid-template-columns:1fr} }
.category-block { border:1px solid var(--line-soft); border-radius:calc(var(--radius) + 6px); background:color-mix(in srgb, var(--surface) 82%, var(--bg)); grid-template-rows:auto 1fr auto; min-width:0; padding:clamp(18px,2.4vw,26px); display:grid }
.block-head { margin-bottom:8px }
.block-head h2 { margin:0; font-size:clamp(1.05rem,1.55vw,1.28rem); font-family:var(--display) }
.block-head p { color:var(--muted); margin:6px 0 0; font-size:.78rem; line-height:1.45 }
.rows { scrollbar-width:thin; scrollbar-color:var(--line) transparent; align-content:start; max-height:462px; display:grid; overflow-y:auto }
.rows::-webkit-scrollbar { width:6px }
.rows::-webkit-scrollbar-thumb { background:var(--line); border-radius:99px }
.site-row.compact { display:grid; grid-template-columns:minmax(0,1fr) 44px; grid-template-areas:"body actions"; align-items:center; gap:6px; min-width:0; padding:4px 0 }
.site-row.compact.has-rank { grid-template-columns:28px minmax(0,1fr) 44px; grid-template-areas:"rank body actions" }
.site-row.compact .rank { color:var(--faint); font-variant-numeric:tabular-nums; letter-spacing:.04em; grid-area:rank; font-size:.75rem; font-weight:750 }
.site-row.compact .body { grid-area:body; min-width:0 }
.site-row.compact .head { flex-wrap:wrap; align-items:baseline; gap:5px 10px; display:flex }
.site-row.compact h3 { min-width:0; color:var(--text); letter-spacing:-.01em; overflow-wrap:anywhere; align-items:center; gap:6px; margin:0; font-size:1.08rem; display:inline-flex }
.site-row.compact h3 a { text-decoration:none }
.site-row.compact h3 a:hover { color:var(--accent) }
.site-row.compact .score { color:var(--accent); font-family:var(--display); font-variant-numeric:tabular-nums; letter-spacing:-.02em; white-space:nowrap; margin-left:auto; font-size:.92rem }
.site-row.compact .score small { color:var(--faint); letter-spacing:0; margin-left:1px; font-family:inherit; font-size:.72rem; font-weight:600 }
.site-row.compact .actions { grid-area:actions; justify-content:center; align-items:center; display:flex }
.visit-link { width:44px; min-width:44px; color:var(--accent); justify-content:center; align-items:center; padding:9px 12px; text-decoration:none; transition:color .16s, transform .16s; display:inline-flex; font-size:1.05rem; font-weight:800; line-height:1 }
.visit-link:hover { color:var(--accent-hover); transform:translate(1px,-1px) }
.site-row.compact + .site-row.compact { border-top:1px solid var(--line) }
.see-all { border:1px solid var(--line-soft); border-radius:var(--radius); min-height:44px; color:var(--accent); background:var(--surface-raised); white-space:nowrap; justify-content:center; align-items:center; gap:4px; margin-top:14px; padding:8px 12px; font-size:.78rem; font-weight:750; text-decoration:none; display:inline-flex; justify-self:start }
.see-all:hover { border-color:var(--accent); color:var(--accent) }

/* Anasayfa SEO metni + SSS */
.home-article { max-width:none; margin-top:clamp(48px,7vw,96px) }
.home-article h2 { margin-top:clamp(30px,4vw,44px); font-size:clamp(1.3rem,2vw,1.72rem); font-family:var(--display) }
.home-article > h2:first-child { margin-top:0 }
.home-article p, .home-article li { color:var(--muted); line-height:1.65 }
.home-article ul { margin:0 0 1rem; padding-left:1.1em }
.home-article li { margin:6px 0 }
.home-faq { margin-top:clamp(34px,5vw,56px) }
.faq { margin:0 }
.faq dt { color:var(--text); margin-top:20px; font-weight:750 }
.faq dd { color:var(--muted); margin:6px 0 0; line-height:1.6 }

/* Footer (orijinal düzen) */
.site-footer { border-top:1px solid var(--line-soft); margin-top:64px; padding:26px 0; color:var(--faint); font-size:.84rem }
.footer-inner p { margin:0 0 10px; max-width:none }
.footer-inner nav { display:flex; gap:20px; flex-wrap:wrap }
.footer-inner a { color:var(--muted); text-decoration:none }
.footer-inner a:hover { color:var(--text) }

/* ============ Header düzeltmeleri (orijinal ölçüler) ============ */
.site-header { background:var(--bg) } /* sticky blur yerine orijinal düz bg */
.header-inner { min-height:72px; gap:clamp(16px,2vw,30px) }
.main-menu { gap:clamp(12px,1.6vw,22px); min-width:0 }
.main-menu a { min-height:44px; color:var(--muted); white-space:nowrap; align-items:center; font-size:.84rem; font-weight:700; text-decoration:none; display:inline-flex }
.main-menu a:hover { color:var(--accent) }

/* Arama kutusu */
.search { width:min(240px,38vw) }
.search input[type=search] { min-height:38px; padding:6px 10px }

/* Tema butonu: 44x44 kare, SVG ay/güneş ikonları */
.theme-toggle { border:1px solid var(--line); border-radius:var(--radius); min-width:44px; min-height:44px; width:44px; height:44px; color:var(--muted); background:var(--surface); cursor:pointer; flex:none; justify-content:center; align-items:center; padding:0; font-size:inherit; line-height:1; transition:color .16s, border-color .16s; display:inline-flex }
.theme-toggle:hover { color:var(--accent); border-color:var(--accent) }
.theme-toggle .icon-moon, .theme-toggle .icon-sun { display:none }
html:not([data-theme=light]) .theme-toggle .icon-moon { display:block }
[data-theme=light] .theme-toggle .icon-sun { display:block }
.theme-toggle svg { width:18px; height:18px; display:block }

/* Hamburger */
.menu-toggle { border:1px solid var(--line); border-radius:var(--radius); min-width:44px; min-height:44px; color:var(--text); background:var(--surface); cursor:pointer; justify-content:center; align-items:center; display:none }
.menu-toggle:hover { color:var(--accent); border-color:var(--accent) }
.hamburger, .hamburger::before, .hamburger::after { content:""; background:currentColor; border-radius:99px; width:18px; height:2px; display:block }
.hamburger { position:relative; display:block; width:18px; height:2px }
.hamburger::before { position:absolute; top:-6px }
.hamburger::after { position:absolute; top:6px }

/* Kicker + page-shell */
.kicker { letter-spacing:.09em; font-size:.75rem }
.page-shell { padding-top:clamp(32px,4.5vw,60px) }
.wrap { width:min(100% - clamp(40px,6vw,80px),1180px) }

@media (max-width:860px){
  .main-menu{display:none}
  .header-inner{flex-wrap:wrap; gap:10px; min-height:auto; padding:12px 0}
  .menu-toggle{margin-left:auto; display:inline-flex}
  @media (max-width:560px){ .theme-toggle{display:none} }
}

/* About rozet rehberi */
.badge-guide { display:grid; gap:12px; margin:16px 0 }
.badge-row { display:grid; grid-template-columns:34px 1fr; gap:14px; align-items:start; border:1px solid var(--line-soft); border-radius:calc(var(--radius) + 4px); background:color-mix(in srgb, var(--surface) 82%, var(--bg)); padding:12px 16px }
.badge-row .badge-icon { width:26px; height:26px; margin-top:2px }
.badge-row strong { color:var(--text) }

/* İlk 3 kategori başlığı: kelime bazlı gradient vurgular */
.grad { background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; color:transparent; font-weight:800 }
.grad-free {
  /* Free: sıcak kırmızı-pembe geçişi */
  background-image:linear-gradient(90deg, #ff4d5e, #ff8a5c);
}
.grad-premium {
  /* Premium: altın şampiyonluk tonları */
  background-image:linear-gradient(90deg, #f6c445, #ffdf80);
}
.grad-onlyfans {
  /* OnlyFans: marka mavi tonları (#00AFF0 ana mavi → açık camgöbeği) */
  background-image:linear-gradient(90deg, #00AFF0, #6cd7ff);
}
