/*
Theme Name: BalkanFreedom
Theme URI: https://balkanfreedom.com/
Author: BalkanFreedom
Description: Moderna, brza video tema napravljena za BalkanFreedom.com.
Version: 1.0.0
Text Domain: balkanfreedom
*/
:root{--bg:#0b0c10;--panel:#13151b;--panel2:#191c23;--text:#f4f5f7;--muted:#9ca3af;--line:#272b35;--accent:#ff3b5c;--accent2:#ff6a3d;--radius:14px;--max:1440px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}.bf-wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(11,12,16,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-row{min-height:74px;display:flex;align-items:center;gap:24px}.brand{font-size:25px;font-weight:900;letter-spacing:-.8px;white-space:nowrap}.brand span{color:var(--accent)}.main-nav{display:flex;gap:7px;align-items:center;overflow:auto;scrollbar-width:none}.main-nav::-webkit-scrollbar{display:none}.main-nav a{display:block;padding:9px 12px;border-radius:9px;color:#d7d9df;font-size:14px;font-weight:700;white-space:nowrap}.main-nav a:hover{background:var(--panel2);color:#fff}.search-toggle{margin-left:auto}.search-form{display:flex;min-width:240px;background:var(--panel);border:1px solid var(--line);border-radius:11px;overflow:hidden}.search-form input{width:100%;border:0;outline:0;background:transparent;color:#fff;padding:10px 13px}.search-form button{border:0;background:transparent;color:#fff;padding:0 13px;cursor:pointer}.hero{padding:38px 0 18px}.hero h1,.archive-head h1{font-size:clamp(27px,3vw,42px);line-height:1.08;margin:0 0 8px;letter-spacing:-1px}.hero p,.archive-head p{color:var(--muted);margin:0}.section-head{display:flex;justify-content:space-between;align-items:end;margin:20px 0 16px}.section-head h2{margin:0;font-size:21px}.video-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 16px}.video-card{min-width:0}.thumb{position:relative;aspect-ratio:16/9;background:#171920;border-radius:var(--radius);overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.video-card:hover .thumb img{transform:scale(1.035)}.play{position:absolute;left:12px;bottom:12px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.72);font-size:15px;padding-left:2px}.cat-badge{position:absolute;top:10px;left:10px;max-width:calc(100% - 20px);padding:5px 8px;background:rgba(255,59,92,.94);border-radius:7px;font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-title{font-size:15px;line-height:1.3;margin:10px 2px 0;font-weight:750}.video-card:hover .card-title{color:#fff}.pagination{margin:38px 0 50px}.nav-links{display:flex;gap:7px;flex-wrap:wrap}.page-numbers{padding:9px 13px;background:var(--panel);border:1px solid var(--line);border-radius:9px}.page-numbers.current,.page-numbers:hover{background:var(--accent);border-color:var(--accent)}.single-main{max-width:1120px;margin:30px auto 0}.single-title{font-size:clamp(27px,3vw,43px);line-height:1.12;letter-spacing:-1px;margin:18px 0 14px}.single-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:14px;margin-bottom:18px}.single-meta a{color:#fff}.video-shell{background:#000;border-radius:16px;overflow:hidden;box-shadow:0 16px 50px rgba(0,0,0,.35)}.video-shell video,.video-shell .wp-video,.video-shell .mejs-container{width:100%!important;max-width:100%}.video-shell video{display:block;aspect-ratio:16/9;background:#000}.entry-content{font-size:16px;color:#d7d9df;margin:22px 0}.related{margin:42px 0 55px}.archive-head{padding:32px 0 20px}.empty{padding:70px 0;text-align:center;color:var(--muted)}.site-footer{border-top:1px solid var(--line);margin-top:40px}.footer-row{display:flex;justify-content:space-between;gap:20px;padding:28px 0;color:var(--muted);font-size:13px}.footer-nav{display:flex;gap:15px;flex-wrap:wrap}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1180px){.video-grid{grid-template-columns:repeat(4,1fr)}.main-nav{display:none}}@media(max-width:860px){.video-grid{grid-template-columns:repeat(3,1fr)}.header-row{flex-wrap:wrap;padding:12px 0}.search-toggle{width:100%;order:3}.search-form{width:100%}.hero{padding-top:26px}}@media(max-width:620px){.bf-wrap{width:min(100% - 24px,var(--max))}.video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px}.brand{font-size:22px}.hero h1{font-size:29px}.card-title{font-size:13px}.cat-badge{font-size:10px}.play{width:34px;height:34px}.footer-row{display:block}.footer-nav{margin-top:12px}}@media(max-width:360px){.video-grid{grid-template-columns:1fr}}

/* BalkanFreedom - jednostavan header */

.site-header {
    overflow: hidden;
}

.header-row {
    min-height: 74px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.brand {
    flex: 0 0 auto;
}

.search-toggle {
    margin-left: auto;
    width: 280px;
    max-width: 100%;
}

.search-toggle .search-form {
    width: 100%;
}

@media (max-width: 620px) {

    .header-row {
        min-height: auto;
        padding: 12px 0;
        flex-wrap: wrap;
        gap: 10px;
    }

    .brand {
        width: 100%;
    }

    .search-toggle {
        width: 100%;
        margin-left: 0;
    }

}

/* ===== BalkanFreedom Modern Contact Form ===== */

.bf-contact-form {
    width: 100%;
    max-width: 560px;
    margin: 25px 0 45px;
    padding: 30px;
    background: #17191e;
    border: 1px solid #30343c;
    border-radius: 14px;
    box-shadow: 0 10px 35px rgba(0,0,0,.2);
    color: #f1f1f1;
}

.bf-contact-form *,
.bf-contact-form *::before,
.bf-contact-form *::after {
    box-sizing: border-box;
}

.bf-contact-form h2 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 25px;
}

.bf-contact-intro {
    color: #aeb4bf;
    font-size: 14px;
    margin: 0 0 24px;
    line-height: 1.6;
}

.bf-contact-form form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 17px 15px;
}

.bf-contact-form form > p {
    margin: 0;
    min-width: 0;
}

.bf-contact-form form > p:nth-of-type(n+3) {
    grid-column: 1 / -1;
}

.bf-contact-form label {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #e6e8ed;
}

.bf-contact-form input:not([type="hidden"]),
.bf-contact-form textarea {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 12px 13px;
    background: #252932;
    color: #fff;
    border: 1px solid #414653;
    border-radius: 7px;
    font: inherit;
    font-size: 14px;
    outline: none;
}

.bf-contact-form textarea {
    min-height: 82px;
    height: 82px;
    resize: vertical;
}

.bf-contact-form input:focus,
.bf-contact-form textarea:focus {
    border-color: #ec4055;
    box-shadow: 0 0 0 2px rgba(236,64,85,.15);
}

.bf-contact-form input[type="number"] {
    max-width: 130px;
}

.bf-contact-form button[type="submit"] {
    display: block;
    width: 100%;
    padding: 14px 20px;
    background: #df354a;
    color: #fff;
    border: 0;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: background .2s ease;
}

.bf-contact-form button[type="submit"]:hover {
    background: #bd263a;
}

@media (max-width: 600px) {
    .bf-contact-form {
        padding: 20px 16px;
    }

    .bf-contact-form form {
        grid-template-columns: 1fr;
    }

    .bf-contact-form form > p {
        grid-column: 1 / -1;
    }
}

/* ===== End Contact Form ===== */


/* ===== BalkanFreedom Responsive Sidebar v1 ===== */

.bf-site-layout {
    display: flex;
    align-items: stretch;
    width: 100%;
    min-height: 70vh;
}

.bf-sidebar {
    flex: 0 0 245px;
    width: 245px;
    background: #13151b;
    border-right: 1px solid #292d37;
}

.bf-sidebar-inner {
    position: sticky;
    top: 74px;
    max-height: calc(100vh - 74px);
    overflow-y: auto;
    padding: 22px 13px 35px;
    scrollbar-width: thin;
}

.bf-sidebar-heading {
    padding: 20px 12px 9px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: #9299a7;
}

.bf-sidebar-home,
.bf-sidebar-link,
.bf-sidebar-extra a {
    display: block;
    padding: 11px 12px;
    margin-bottom: 3px;
    border-radius: 9px;
    color: #e4e6ec;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.bf-sidebar-home {
    color: #fff;
    background: #272b35;
    font-weight: 800;
}

.bf-sidebar-home:hover,
.bf-sidebar-link:hover,
.bf-sidebar-extra a:hover {
    background: #30343e;
    color: #fff;
}

.bf-sidebar-extra {
    list-style: none;
    padding: 0;
    margin: 0;
}

.bf-sidebar-extra li {
    list-style: none;
}

.bf-site-main {
    flex: 1 1 0;
    min-width: 0;
}

.bf-site-main .bf-wrap {
    width: calc(100% - 40px);
    max-width: 1440px;
}

.bf-mobile-bar {
    display: none;
}

@media (max-width: 900px) {

    .bf-mobile-bar {
        display: block;
        position: fixed;
        top: 15px;
        right: 12px;
        z-index: 110;
    }

    .bf-menu-button {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 46px;
        height: 44px;
        background: #242833;
        color: #fff;
        border: 1px solid #454b59;
        border-radius: 10px;
        font-size: 26px;
        cursor: pointer;
    }

    .bf-sidebar {
        display: none;
        position: fixed;
        z-index: 100;
        top: 74px;
        right: 0;
        bottom: 0;
        width: min(310px, 90vw);
        background: #171920;
        border-left: 1px solid #343945;
        border-right: 0;
        box-shadow: -15px 0 45px rgba(0,0,0,.55);
    }

    .bf-sidebar.bf-open {
        display: block;
    }

    .bf-sidebar-inner {
        position: static;
        max-height: 100%;
        height: 100%;
        overflow-y: auto;
    }

    .bf-site-main {
        width: 100%;
    }

    .header-row {
        padding-right: 60px;
    }
}

@media (max-width: 620px) {

    .bf-mobile-bar {
        top: 13px;
    }

    .bf-sidebar {
        top: 67px;
    }

    .bf-site-main .bf-wrap {
        width: calc(100% - 24px);
    }

    .header-row {
        padding-right: 60px;
    }

    .brand {
        width: auto;
        max-width: calc(100% - 10px);
    }

    .search-toggle {
        width: 100%;
    }
}
