/* ==========================================================
   Kenar sütunu widget'ları — v2 görünüm
   views/partials/widgets.php her widget'ı <div class="wv2 wv2-{tür}"> içine koyar;
   buradaki kurallar yalnızca bu kapsamı etkiler. Açık/koyu tema site.css değişkenlerinden gelir.
   Görüntülenme sayısı hiçbir widget'ta gösterilmez.
   ========================================================== */

.wv2 {
    --wv-accent: var(--brand);
    --wv-r: 16px;
    --wv-r-sm: 12px;
    --wv-up: #0E9F6E;
    --wv-down: #E5484D;
    --wv-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 24px -14px rgba(15, 23, 42, .18);
    min-width: 0;
}
[data-theme="dark"] .wv2 {
    --wv-up: #34D399;
    --wv-down: #FF6B6F;
    --wv-shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 12px 28px -16px rgba(0, 0, 0, .6);
}

/* Tür vurguları (başlık ikonu) */
.wv2-popular { --wv-accent: #F04438; }
.wv2-latest { --wv-accent: #2E5BFF; }
.wv2-today { --wv-accent: #F79009; }
.wv2-editors { --wv-accent: #DC8B00; }
.wv2-catshowcase { --wv-accent: var(--cat, #7B3FF2); }
.wv2-photos, .wv2-galleries { --wv-accent: #0BA5EC; }
.wv2-categories { --wv-accent: #7B3FF2; }
.wv2-tags, .wv2-tagcloud { --wv-accent: #6172F3; }
.wv2-poll { --wv-accent: #12B76A; }
.wv2-tests { --wv-accent: #EE46BC; }
.wv2-markets { --wv-accent: #0E9F6E; }
.wv2-videos { --wv-accent: #E11D48; }
.wv2-search { --wv-accent: #2E5BFF; }
.wv2-about { --wv-accent: #7B3FF2; }
.wv2-social { --wv-accent: #0A66C2; }
.wv2-channels { --wv-accent: #25A55F; }
[data-theme="dark"] .wv2-popular { --wv-accent: #FF7A70; }
[data-theme="dark"] .wv2-latest, [data-theme="dark"] .wv2-search { --wv-accent: #7C9BFF; }
[data-theme="dark"] .wv2-today { --wv-accent: #FDB022; }
[data-theme="dark"] .wv2-editors { --wv-accent: #FAC515; }
[data-theme="dark"] .wv2-categories, [data-theme="dark"] .wv2-about { --wv-accent: #A98BFF; }
[data-theme="dark"] .wv2-tags, [data-theme="dark"] .wv2-tagcloud { --wv-accent: #8C9BFF; }
[data-theme="dark"] .wv2-poll, [data-theme="dark"] .wv2-markets { --wv-accent: #34D399; }
[data-theme="dark"] .wv2-tests { --wv-accent: #F472D0; }
[data-theme="dark"] .wv2-videos { --wv-accent: #FB7185; }
[data-theme="dark"] .wv2-social { --wv-accent: #5BA4F5; }
[data-theme="dark"] .wv2-channels { --wv-accent: #4ADE80; }
[data-theme="dark"] .wv2-photos, [data-theme="dark"] .wv2-galleries { --wv-accent: #36BFFA; }

/* ---------- Kart ---------- */
.wv2 > .panel {
    position: relative;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: var(--wv-r);
    background: var(--surface);
    box-shadow: var(--wv-shadow);
}

/* ---------- Başlık ---------- */
.wv2-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border);
}
.wv2 .panel .block-title {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    font: 800 16px/1.25 var(--f-head);
    letter-spacing: -0.01em;
    color: var(--ink);
}
.wv2 .panel .wv2-title::before { display: none; }
.wv2-ttl { min-width: 0; overflow-wrap: anywhere; }
.wv2-ico {
    flex: none;
    display: inline-grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 10px;
    background: color-mix(in srgb, var(--wv-accent) 14%, transparent);
    color: var(--wv-accent);
    font-size: 13px;
}
.wv2-badge {
    flex: none;
    padding: 4px 9px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--wv-accent) 14%, transparent);
    color: var(--ink-2);
    font: 700 11.5px/1 var(--f-body);
    letter-spacing: .02em;
}
.wv2-more-link {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    padding: 0 4px;
    font: 700 13px/1 var(--f-head);
    color: var(--brand-ink);
}
.wv2-more-link i { font-size: 11px; transition: transform .2s var(--ease); }
.wv2-more-link:hover i { transform: translateX(3px); }

.wv2 .widget-more { margin-top: 12px; font-size: 13.5px; color: var(--brand-ink); }

/* Odak halkası */
.wv2 a:focus-visible, .wv2 button:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
    border-radius: 8px;
}

/* ---------- Çok okunanlar (numaralı) ---------- */
.wv2 .rank-list li {
    grid-template-columns: 32px minmax(0, 1fr);
    column-gap: 12px;
    padding: 11px 0;
    border-top: 1px dashed var(--border);
}
.wv2 .rank-list li:first-child { border-top: 0; padding-top: 2px; }
.wv2 .rank-list li::before {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: var(--surface-2);
    color: var(--muted);
    font: 800 14px/1 var(--f-head);
    font-variant-numeric: tabular-nums;
}
.wv2 .rank-list li:nth-child(1)::before { background: var(--grad); color: #fff; box-shadow: 0 6px 14px -6px rgba(46, 91, 255, .6); }
.wv2 .rank-list li:nth-child(2)::before, .wv2 .rank-list li:nth-child(3)::before {
    background: color-mix(in srgb, var(--brand) 14%, transparent);
    color: var(--brand-ink);
}
.wv2 .rank-list a { font: 700 14.5px/1.38 var(--f-head); color: var(--ink); }
.wv2 .rank-list a:hover { color: var(--brand-ink); }
.wv2 .rank-list .meta { margin-top: 4px; font-size: 12.5px; }

/* ---------- Küçük görselli liste ---------- */
.wv2 .mini-list li {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 12px;
    padding: 11px 0;
    border-top: 1px dashed var(--border);
}
.wv2 .mini-list li:first-child { border-top: 0; padding-top: 2px; }
.wv2 .mini-list .top-media { border-radius: var(--wv-r-sm); overflow: hidden; background: var(--surface-2); }
.wv2 .mini-list .top-media .fig-img, .wv2 .mini-list .top-media .plate { aspect-ratio: 1; width: 100%; height: auto; transition: transform .4s var(--ease); }
.wv2 .mini-list li:hover .top-media .fig-img, .wv2 .mini-list li:hover .top-media .plate { transform: scale(1.06); }
.wv2 .mini-list .cat-label { margin-bottom: 3px; font-size: 11.5px; }
.wv2 .mini-title {
    font: 700 14.5px/1.36 var(--f-head);
    color: var(--ink);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.wv2 .mini-title:hover { color: var(--cat-ink, var(--brand-ink)); }
[data-theme="dark"] .wv2 .mini-title:hover { color: var(--brand-ink); }

/* ---------- Kategoriler (renkli nokta + sayı) ---------- */
.wv2 .cat-index { display: grid; gap: 2px; }
.wv2 .cat-index li a {
    grid-template-columns: 32px minmax(0, 1fr) auto;
    gap: 12px;
    min-height: 44px;
    padding: 6px 8px;
    margin: 0 -8px;
    border-radius: var(--wv-r-sm);
    font: 600 14.5px/1.2 var(--f-body);
    transition: background-color .15s;
}
.wv2 .cat-index li a:hover { background: color-mix(in srgb, var(--cat, var(--brand)) 9%, transparent); }
.wv2 .cat-dot { width: 32px; height: 32px; border-radius: 10px; font-size: 13px; position: relative; }
.wv2 .cat-dot::after {
    content: "";
    position: absolute;
    right: -2px;
    top: -2px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--cat, var(--brand));
    border: 2px solid var(--surface);
}
.wv2 .cat-index .count {
    min-width: 30px;
    padding: 4px 8px;
    border-radius: 999px;
    background: var(--surface-2);
    color: var(--muted);
    font: 700 11.5px/1 var(--f-body);
    font-variant-numeric: tabular-nums;
}

/* ---------- Etiket çipleri ---------- */
.wv2 .tag-list { gap: 8px; }
.wv2 .tag-list a {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    font: 600 13px/1 var(--f-body);
    color: var(--ink-2);
    transition: border-color .15s, background-color .15s, color .15s;
}
.wv2-hash { color: var(--wv-accent); font-weight: 800; }
.wv2 .tag-list a:hover { border-color: var(--wv-accent); background: color-mix(in srgb, var(--wv-accent) 10%, transparent); color: var(--ink); }

/* ---------- Etiket bulutu ---------- */
.wv2-cloud { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 6px; }
.wv2-cloud a {
    display: inline-block;
    padding: 5px 8px;
    border-radius: 10px;
    color: var(--ink-2);
    font-family: var(--f-head);
    line-height: 1.1;
    transition: background-color .15s, color .15s;
}
.wv2-cloud a:hover { background: color-mix(in srgb, var(--wv-accent) 12%, transparent); color: var(--ink); }
.wv2-cloud .wv2-w1 { font-size: 12.5px; font-weight: 600; color: var(--muted); }
.wv2-cloud .wv2-w2 { font-size: 13.5px; font-weight: 600; }
.wv2-cloud .wv2-w3 { font-size: 15px; font-weight: 700; }
.wv2-cloud .wv2-w4 { font-size: 16.5px; font-weight: 800; color: var(--ink); }
.wv2-cloud .wv2-w5 { font-size: 18.5px; font-weight: 800; color: var(--brand-ink); }

/* ---------- Bülten ---------- */
.wv2-newsletter > .panel {
    overflow: hidden;
    border: 0;
    background: var(--grad);
    color: #fff;
    box-shadow: 0 16px 34px -18px rgba(46, 91, 255, .75);
}
.wv2-newsletter > .panel::after {
    content: "";
    position: absolute;
    right: -46px;
    top: -46px;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, .22), rgba(255, 255, 255, 0) 70%);
    pointer-events: none;
}
.wv2-newsletter .wv2-head { border-bottom-color: rgba(255, 255, 255, .22); }
.wv2-newsletter .panel .block-title { color: #fff; }
.wv2-newsletter .wv2-ico { background: rgba(255, 255, 255, .2); color: #fff; }
.wv2-newsletter .widget-text { margin: 0 0 14px; color: rgba(255, 255, 255, .9); font-size: 14.5px; }
.wv2-newsletter .widget-form { position: relative; z-index: 1; gap: 8px; }
.wv2-newsletter .widget-form input[type="email"] {
    min-height: 46px;
    border: 1px solid rgba(255, 255, 255, .4);
    border-radius: var(--wv-r-sm);
    background: rgba(255, 255, 255, .14);
    color: #fff;
}
.wv2-newsletter .widget-form input[type="email"]::placeholder { color: rgba(255, 255, 255, .8); }
.wv2-newsletter .widget-form input[type="email"]:focus { border-color: #fff; background: rgba(255, 255, 255, .22); box-shadow: 0 0 0 3px rgba(255, 255, 255, .3); }
.wv2-newsletter .widget-form .btn { border-radius: var(--wv-r-sm); background: #fff; color: #1F3AC7; box-shadow: none; }
.wv2-newsletter .widget-form .btn:hover { background: #0B1220; color: #fff; }
.wv2-newsletter .widget-form .btn:focus-visible { outline-color: #fff; }
.wv2-newsletter .widget-note { color: rgba(255, 255, 255, .8); font-size: 12px; }

/* ---------- Sosyal medya (marka renkli) ---------- */
.wv2 .social-list { margin-top: 0; gap: 8px; }
.wv2 .social-link {
    --sb: var(--brand);
    --sb-on: #fff;
    gap: 10px;
    min-height: 46px;
    padding: 0 10px 0 7px;
    border: 1px solid var(--border);
    border-radius: var(--wv-r-sm);
    background: var(--surface);
    font: 700 13.5px/1.1 var(--f-body);
    color: var(--ink);
    transition: border-color .15s, background-color .15s, transform .15s;
}
.wv2 .social-link i {
    flex: none;
    display: inline-grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 9px;
    background: var(--sb);
    color: var(--sb-on) !important;
    font-size: 15px;
}
.wv2 .social-link span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wv2 .social-link:hover { border-color: var(--sb); background: color-mix(in srgb, var(--sb) 8%, var(--surface)); transform: translateY(-1px); }
.wv2 .social-x { --sb: #0F1419; }
.wv2 .social-facebook { --sb: #1877F2; }
.wv2 .social-instagram { --sb: #E1306C; }
.wv2 .social-instagram i { background: radial-gradient(circle at 30% 107%, #FDF497 0%, #FD5949 45%, #D6249F 60%, #285AEB 90%); }
.wv2 .social-youtube { --sb: #FF0033; }
.wv2 .social-linkedin { --sb: #0A66C2; }
.wv2 .social-tiktok { --sb: #0F1419; }
.wv2 .social-telegram { --sb: #229ED9; }
[data-theme="dark"] .wv2 .social-x, [data-theme="dark"] .wv2 .social-tiktok { --sb: #E7E9EA; --sb-on: #0F1419; }

/* ---------- WhatsApp & Telegram kanalı (işaretleme reader_helpers'tan) ---------- */
.wv2-channels .chan-box-widget .block-title {
    margin: 0 0 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border);
}
.wv2-channels .chan-box-widget .block-title::before {
    content: "\f0a1";
    display: inline-grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 10px;
    background: color-mix(in srgb, var(--wv-accent) 14%, transparent);
    color: var(--wv-accent);
    font: 900 13px/1 'Font Awesome 6 Free';
}
.wv2-channels .chan-text { font-size: 14.5px; color: var(--ink-2); }
.wv2-channels .chan-btn { border-radius: var(--wv-r-sm); min-height: 46px; }
.wv2-channels .chan-note { font-size: 12px; }

/* ---------- Anket ---------- */
.wv2-poll .poll-q { margin: 0 0 12px; font-size: 15.5px; }
.wv2-poll .poll-opt { border-radius: var(--wv-r-sm); min-height: 46px; font-size: 14px; }
.wv2-poll .poll-total { font-size: 12.5px; }

/* ---------- Bugünün öne çıkanları ---------- */
.wv2-lead { display: grid; gap: 10px; }
.wv2-lead-media { display: block; border-radius: var(--wv-r-sm); overflow: hidden; background: var(--surface-2); }
.wv2-lead-media .fig-img, .wv2-lead-media .plate { aspect-ratio: 16 / 9; width: 100%; height: auto; transition: transform .5s var(--ease); }
.wv2-lead:hover .wv2-lead-media .fig-img, .wv2-lead:hover .wv2-lead-media .plate { transform: scale(1.04); }
.wv2-lead .plate-icon { font-size: 40px; }
.wv2-lead .plate-name { display: none; }
.wv2-lead-body .cat-label { font-size: 11.5px; }
.wv2-lead-title { display: block; font: 800 16.5px/1.32 var(--f-head); letter-spacing: -0.01em; color: var(--ink); }
.wv2-lead-title:hover { color: var(--brand-ink); }
.wv2-time { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; font: 500 12.5px/1 var(--f-body); color: var(--muted); }
.wv2-time i { font-size: 11px; }
.wv2-timeline { position: relative; margin-top: 14px; padding-left: 18px; }
.wv2-timeline::before { content: ""; position: absolute; left: 4px; top: 6px; bottom: 6px; width: 2px; border-radius: 2px; background: var(--border); }
.wv2-timeline li { position: relative; display: grid; gap: 3px; padding: 8px 0; }
.wv2-timeline li::before {
    content: "";
    position: absolute;
    left: -18px;
    top: 13px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--cat, var(--brand));
    box-shadow: 0 0 0 3px var(--surface);
}
.wv2-timeline time { font: 600 11.5px/1 var(--f-body); color: var(--muted); }
.wv2-timeline a { font: 700 14px/1.36 var(--f-head); color: var(--ink); }
.wv2-timeline a:hover { color: var(--brand-ink); }

/* ---------- Kategori vitrini ---------- */
.wv2-cover { margin-bottom: 4px; }
.wv2-cover-link { position: relative; display: block; border-radius: var(--wv-r-sm); overflow: hidden; background: var(--surface-2); isolation: isolate; }
.wv2-cover-link .fig-img, .wv2-cover-link .plate { aspect-ratio: 4 / 3; width: 100%; height: auto; transition: transform .5s var(--ease); }
.wv2-cover-link:hover .fig-img, .wv2-cover-link:hover .plate { transform: scale(1.05); }
.wv2-cover-link .plate-name { display: none; }
.wv2-cover-link::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(5, 10, 25, 0) 30%, rgba(5, 10, 25, .82) 100%);
}
.wv2-cover-body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; display: grid; justify-items: start; gap: 6px; padding: 14px; color: #fff; }
.wv2-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 9px;
    border-radius: 999px;
    background: var(--cat, var(--brand));
    color: var(--cat-on, #fff);
    font: 700 11.5px/1 var(--f-head);
}
.wv2-cover-title { font: 800 16.5px/1.3 var(--f-head); letter-spacing: -0.01em; text-shadow: 0 1px 2px rgba(0, 0, 0, .3); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.wv2-cover-time { font: 500 12px/1 var(--f-body); color: rgba(255, 255, 255, .82); }
.wv2-showcase .mini-list { margin-top: 6px; }
.wv2-showcase .mini-list li:first-child { padding-top: 11px; }
.wv2-showcase .cat-label { color: var(--muted); font-weight: 600; }

/* ---------- Piyasalar mini ---------- */
.wv2-mkt { min-height: calc(var(--rows, 6) * 44px); display: grid; align-content: start; }
.wv2-mkt-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 76px;
    align-items: center;
    gap: 10px;
    height: 44px;
    border-top: 1px dashed var(--border);
    font-variant-numeric: tabular-nums;
}
.wv2-mkt-row:first-child { border-top: 0; }
.wv2-mkt-label { font: 600 14px/1.2 var(--f-body); color: var(--ink-2); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wv2-mkt-val { font: 800 14.5px/1 var(--f-head); color: var(--ink); text-align: right; }
.wv2-mkt-chg {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    min-width: 64px;
    justify-content: center;
    padding: 5px 7px;
    border-radius: 8px;
    font: 700 12px/1 var(--f-body);
    background: var(--surface-2);
    color: var(--muted);
}
.wv2-mkt-chg.is-up { background: color-mix(in srgb, var(--wv-up) 14%, transparent); color: var(--wv-up); }
.wv2-mkt-chg.is-down { background: color-mix(in srgb, var(--wv-down) 14%, transparent); color: var(--wv-down); }
.wv2-mkt-chg span[aria-hidden] { font-size: 9px; }
.wv2-mkt-row.is-loading span { display: block; height: 12px; border-radius: 6px; background: linear-gradient(90deg, var(--surface-2) 0%, var(--border) 50%, var(--surface-2) 100%); background-size: 200% 100%; animation: wv2-shimmer 1.4s linear infinite; }
.wv2-mkt-row.is-loading .wv2-mkt-label { width: 60%; }
.wv2-mkt-row.is-loading .wv2-mkt-val { width: 70px; }
.wv2-mkt-row.is-loading .wv2-mkt-chg { width: 64px; min-width: 0; padding: 0; height: 22px; }
.wv2-mkt-empty { display: grid; place-items: center; min-height: 88px; color: var(--muted); font-size: 14px; text-align: center; }
.wv2-mkt-foot { margin-top: 10px; font-size: 12px; color: var(--muted); }
@keyframes wv2-shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }

/* ---------- Son videolar ---------- */
.wv2-vlead { display: grid; gap: 10px; }
.wv2-vmedia, .wv2-vthumb { position: relative; display: block; overflow: hidden; border-radius: var(--wv-r-sm); background: #0B1220; aspect-ratio: 16 / 9; }
.wv2-vmedia img, .wv2-vthumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.wv2-vlead:hover .wv2-vmedia img, .wv2-vlist a:hover .wv2-vthumb img { transform: scale(1.05); }
.wv2-play {
    position: absolute;
    left: 50%;
    top: 50%;
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    margin: -25px 0 0 -25px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    color: #E11D48;
    font-size: 17px;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .35);
    transition: transform .2s var(--ease);
}
.wv2-play i { margin-left: 3px; }
.wv2-vlead:hover .wv2-play { transform: scale(1.08); }
.wv2-dur { position: absolute; right: 7px; bottom: 7px; padding: 3px 6px; border-radius: 6px; background: rgba(0, 0, 0, .78); color: #fff; font: 700 11px/1 var(--f-body); font-variant-numeric: tabular-nums; }
.wv2-vtitle { font: 800 15.5px/1.34 var(--f-head); color: var(--ink); }
.wv2-vlead:hover .wv2-vtitle { color: var(--brand-ink); }
.wv2-vlist { margin-top: 6px; }
.wv2-vlist li { border-top: 1px dashed var(--border); }
.wv2-vlist li:first-child { margin-top: 8px; }
.wv2-vlist a { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 12px; align-items: center; padding: 10px 0; }
.wv2-vlist .wv2-dur { right: 5px; bottom: 5px; font-size: 10.5px; }
.wv2-vt { font: 700 14px/1.36 var(--f-head); color: var(--ink); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.wv2-vlist a:hover .wv2-vt { color: var(--brand-ink); }

/* ---------- Foto galeriler ---------- */
.wv2-gal { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 10px; }
.wv2-gal .is-wide { grid-column: 1 / -1; }
.wv2-gal a { display: grid; gap: 7px; }
.wv2-gmedia { position: relative; display: block; overflow: hidden; border-radius: var(--wv-r-sm); background: var(--surface-2); aspect-ratio: 4 / 3; }
.wv2-gal .is-wide .wv2-gmedia { aspect-ratio: 16 / 9; }
.wv2-gmedia img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.wv2-gal a:hover .wv2-gmedia img { transform: scale(1.06); }
.wv2-gph { display: grid; place-items: center; width: 100%; height: 100%; color: var(--muted); font-size: 22px; }
.wv2-gcount { position: absolute; left: 7px; top: 7px; display: inline-flex; align-items: center; gap: 5px; padding: 4px 7px; border-radius: 7px; background: rgba(0, 0, 0, .66); color: #fff; font: 700 11px/1 var(--f-body); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.wv2-gt { font: 700 13.5px/1.34 var(--f-head); color: var(--ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.wv2-gal .is-wide .wv2-gt { font-size: 15px; }
.wv2-gal a:hover .wv2-gt { color: var(--brand-ink); }

/* ---------- Arama kutusu ---------- */
.wv2-searchform { position: relative; display: flex; gap: 8px; }
.wv2-search-ico { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--muted); font-size: 14px; pointer-events: none; }
.wv2-searchform input[type="search"] {
    flex: 1;
    min-width: 0;
    min-height: 46px;
    padding: 0 12px 0 40px;
    border: 1px solid var(--border);
    border-radius: var(--wv-r-sm);
    background: var(--surface-2);
    color: var(--ink);
    font: 500 14.5px/1 var(--f-body);
    -webkit-appearance: none;
    appearance: none;
}
.wv2-searchform input[type="search"]::placeholder { color: var(--muted); }
.wv2-searchform input[type="search"]:focus { outline: none; border-color: var(--brand); background: var(--surface); box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand) 18%, transparent); }
.wv2-searchform .btn { flex: none; min-height: 46px; padding: 0 16px; border-radius: var(--wv-r-sm); box-shadow: none; }

/* ---------- Hakkımızda kartı ---------- */
.wv2-about > .panel { background: linear-gradient(180deg, color-mix(in srgb, var(--brand) 6%, var(--surface)) 0%, var(--surface) 60%); }
.wv2-brand { display: flex; align-items: center; gap: 12px; }
.wv2-mono { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: var(--grad); color: #fff; font: 800 17px/1 var(--f-head); letter-spacing: .02em; box-shadow: 0 8px 18px -8px rgba(46, 91, 255, .7); }
.wv2-brand strong { font: 800 17px/1.2 var(--f-head); color: var(--ink); }
.wv2-about-text { margin: 12px 0 0; font-size: 14px; line-height: 1.6; color: var(--ink-2); }
.wv2-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.wv2-links a { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 0 12px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface); font: 600 13px/1 var(--f-body); color: var(--ink-2); transition: border-color .15s, color .15s; }
.wv2-links a i { color: var(--wv-accent); font-size: 12px; }
.wv2-links a:hover { border-color: var(--wv-accent); color: var(--ink); }

/* ---------- Testler ---------- */
.wv2-tests .mini-list .cat-label { color: var(--wv-accent); }

/* ---------- Reklam alanları ---------- */
.wv2-adwrap .ad-slot { margin: 0; padding: 26px 12px 12px; border: 1px solid var(--border); border-radius: var(--wv-r); background: var(--surface); }
.wv2-html .widget-ad { border-radius: var(--wv-r); }

/* ---------- Mobil ---------- */
@media (max-width: 640px) {
    .wv2 > .panel { padding: 16px; }
    .wv2-lead-title, .wv2-cover-title { font-size: 16px; }
    .wv2-vlist a { grid-template-columns: 104px minmax(0, 1fr); }
}

/* ---------- Hareket azaltma ---------- */
@media (prefers-reduced-motion: reduce) {
    .wv2 *, .wv2 *::before, .wv2 *::after { transition: none !important; animation: none !important; }
    .wv2 a:hover img, .wv2 a:hover .plate, .wv2 li:hover img { transform: none !important; }
}
