/* ================================================================
   Webreta Video Gallery v2 — Frontend CSS
   Tüm kurallar .wvg-gallery / #wvg-lightbox scope'unda.
   Flatsome ezmeleri !important ile bastırıldı.
   ================================================================ */

/* ── Grid ───────────────────────────────────────────────────────── */
.wvg-gallery {
    display: grid !important;
    grid-template-columns: repeat(var(--wvg-cols-d, 3), 1fr) !important;
    gap: var(--wvg-gap, 12px) !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
@media (max-width: 849px) {
    .wvg-gallery { grid-template-columns: repeat(var(--wvg-cols-t, 2), 1fr) !important; }
}
@media (max-width: 549px) {
    .wvg-gallery { grid-template-columns: repeat(var(--wvg-cols-m, 1), 1fr) !important; }
}

/* ── Item ────────────────────────────────────────────────────────── */
.wvg-item {
    display: flex !important;
    flex-direction: column !important;
    cursor: pointer !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ── Thumb wrap + aspect ratio ───────────────────────────────────── */
.wvg-thumb-wrap {
    position: relative !important;
    overflow: hidden !important;
    border-radius: var(--wvg-radius, 8px) !important;
    background: #111 !important;
    width: 100% !important;
}
.wvg-thumb-wrap::before {
    content: '' !important;
    display: block !important;
    padding-top: var(--wvg-pt, 56.25%) !important;
}
.wvg-thumb,
.wvg-thumb-blank {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.4s ease !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
}
.wvg-thumb-blank {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%) !important;
}

/* ── Overlay ─────────────────────────────────────────────────────── */
.wvg-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: var(--wvg-overlay, rgba(0,0,0,0.35)) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.3s ease !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ── Play button ─────────────────────────────────────────────────── */
.wvg-play-btn {
    width: 56px !important;
    height: 56px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--wvg-play-color, #fff) !important;
    transition: transform 0.25s ease, opacity 0.25s ease !important;
    z-index: 2 !important;
    flex-shrink: 0 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}
.wvg-play-btn svg {
    width: 28px !important;
    height: 28px !important;
    filter: drop-shadow(0 2px 6px rgba(0,0,0,0.4)) !important;
    display: block !important;
}

/* Stiller */
.wvg-play-circle .wvg-play-btn {
    background: rgba(255,255,255,0.18) !important;
    border: 2px solid rgba(255,255,255,0.7) !important;
    border-radius: 50% !important;
    backdrop-filter: blur(4px) !important;
}
.wvg-play-square .wvg-play-btn {
    background: rgba(255,255,255,0.18) !important;
    border: 2px solid rgba(255,255,255,0.7) !important;
    border-radius: 8px !important;
    backdrop-filter: blur(4px) !important;
}
.wvg-play-minimal .wvg-play-btn { width:64px !important; height:64px !important; }
.wvg-play-minimal .wvg-play-btn svg { width:40px !important; height:40px !important; }
.wvg-play-none .wvg-play-btn { opacity:0 !important; transform:scale(0.85) !important; }
.wvg-play-none .wvg-item:hover .wvg-play-btn { opacity:1 !important; transform:scale(1) !important; }

/* ── Hover Efektleri ─────────────────────────────────────────────── */
.wvg-hover-zoom .wvg-item:hover .wvg-thumb     { transform:scale(1.07) !important; }
.wvg-hover-zoom .wvg-item:hover .wvg-play-btn  { transform:scale(1.1) !important; }
.wvg-hover-lift .wvg-thumb-wrap                 { transition:box-shadow .3s,transform .3s !important; }
.wvg-hover-lift .wvg-item:hover .wvg-thumb-wrap { transform:translateY(-4px) !important; box-shadow:0 16px 40px rgba(0,0,0,0.22) !important; }
.wvg-hover-dim .wvg-overlay                     { background:rgba(0,0,0,0.1) !important; }
.wvg-hover-dim .wvg-item:hover .wvg-overlay     { background:rgba(0,0,0,0.55) !important; }

/* ── Başlıklar ───────────────────────────────────────────────────── */
.wvg-title-overlay {
    position: absolute !important;
    bottom: 0 !important; left: 0 !important; right: 0 !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #fff !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.6) !important;
    background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, transparent 100%) !important;
    z-index: 2 !important;
    margin: 0 !important;
}
.wvg-title-below {
    margin: 8px 0 0 !important;
    padding: 0 2px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    color: currentColor !important;
}
.wvg-align-left   { text-align:left !important; }
.wvg-align-center { text-align:center !important; }
.wvg-align-right  { text-align:right !important; }

/* ================================================================
   LIGHTBOX
   Nav/close: div[role=button] — Flatsome button stillerinden kaçınmak için
   ================================================================ */
#wvg-lightbox,
#wvg-lightbox * {
    box-sizing: border-box !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

#wvg-lightbox {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.25s ease !important;
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
#wvg-lightbox.is-open {
    opacity: 1 !important;
    pointer-events: all !important;
}

#wvg-lightbox .wvg-lb-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(0,0,0,0.92) !important;
    cursor: pointer !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

#wvg-lightbox .wvg-lb-inner {
    position: relative !important;
    z-index: 1 !important;
    width: 90vw !important;
    max-width: 1000px !important;
    transform: scale(0.95) !important;
    transition: transform 0.25s ease !important;
    margin: 0 !important;
    padding: 0 !important;
}
#wvg-lightbox.is-open .wvg-lb-inner { transform: scale(1) !important; }

#wvg-lightbox .wvg-lb-video {
    position: relative !important;
    width: 100% !important;
    padding-top: 56.25% !important;
    background: #000 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    margin: 0 !important;
}
#wvg-lightbox .wvg-lb-video iframe,
#wvg-lightbox .wvg-lb-video video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

/* ── Kapat + Nav: div[role=button], Flatsome button stilinden etkilenmez ── */
#wvg-lightbox .wvg-lb-close {
    position: absolute !important;
    top: -46px !important;
    right: 0 !important;
    width: 36px !important;
    height: 36px !important;
    background: rgba(255,255,255,0.15) !important;
    border-radius: 50% !important;
    color: #fff !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    line-height: 1 !important;
    transition: background .2s !important;
    padding: 0 !important;
    margin: 0 !important;
    user-select: none !important;
    z-index: 10 !important;
    /* Flatsome override garantisi */
    min-height: unset !important;
    min-width: unset !important;
    max-width: unset !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-align: center !important;
    vertical-align: unset !important;
    box-shadow: none !important;
    border: none !important;
    font-weight: normal !important;
}
#wvg-lightbox .wvg-lb-close:hover { background: rgba(255,255,255,0.3) !important; }

#wvg-lightbox .wvg-lb-counter {
    position: absolute !important;
    top: -44px !important;
    left: 0 !important;
    color: rgba(255,255,255,0.5) !important;
    font-size: 13px !important;
    line-height: 1 !important;
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

#wvg-lightbox .wvg-lb-title {
    text-align: center !important;
    color: rgba(255,255,255,0.85) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
    min-height: 20px !important;
    background: none !important;
    line-height: 1.4 !important;
}

#wvg-lightbox .wvg-lb-nav {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 48px !important;
    height: 48px !important;
    background: rgba(30,30,30,0.75) !important;
    border-radius: 50% !important;
    color: #fff !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 30px !important;
    line-height: 1 !important;
    transition: background .2s, transform .2s !important;
    z-index: 3 !important;
    padding: 0 !important;
    margin: 0 !important;
    user-select: none !important;
    /* Flatsome override garantisi */
    min-height: unset !important;
    min-width: unset !important;
    max-width: unset !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    vertical-align: unset !important;
    box-shadow: none !important;
    border: none !important;
    font-weight: normal !important;
    text-decoration: none !important;
}
#wvg-lightbox .wvg-lb-nav:hover {
    background: rgba(255,255,255,0.25) !important;
    transform: translateY(-50%) scale(1.08) !important;
}
#wvg-lightbox .wvg-lb-prev { left: -64px !important; }
#wvg-lightbox .wvg-lb-next { right: -64px !important; }

@media (max-width: 900px) {
    #wvg-lightbox .wvg-lb-prev { left: 6px !important; top: auto !important; bottom: -62px !important; transform: none !important; }
    #wvg-lightbox .wvg-lb-next { right: 6px !important; top: auto !important; bottom: -62px !important; transform: none !important; }
    #wvg-lightbox .wvg-lb-nav:hover { transform: scale(1.08) !important; }
}

/* ── Video thumbnail (thumb yokken fallback) ─────────────────── */
.wvg-thumb-video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    pointer-events: none !important;
    background: #111 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
}
