/*
	Document: style.scss
	Theme Name: Buko
	Authors: Dragaš Dejanović
*/

:root{
    
    --font-family: "Roboto", sans-serif;
	
	--muted-text: #B1B0B5;
    --primary-text: #272e36; 
	--secondary-text: #fff; /* sekundarna boja teksta */
    
    --primary-color: #272e36;
	--secondary-color: 255, 255, 255; 
	--third-color: 39, 46, 54;
	--fourth-color: #000; /* crna */
	--fifth-color: #bd9267; /* braon */     
	--sixth-color: #fff; /* bela */
    
    --hover-color: #bd9267; /* braon */
    
    --border: #272e36;
    --border2: #ccc;
    
    --logo-dark: url('../graphic/buko-logo.svg');
    --logo-light: url('../graphic/buko-logo-light.svg');
	--logo-fill: var(--primary-text);

	--input-bg: #F5F5F6;
	--input-bg-hover: #ecebed;
	--input-border-focus: var(--muted-text);
	--input-text: var(--primary-text);
	--input-placeholder: var(--muted-text);

	--button-text: #D19361;
	--button-text-hover: #faf4ef;

	--icon-socials: var(--primary-text);
	--icon-socials-hover: #77757e;

	--default-border-radius: 8px;
	--default-transition: color .3s ease-in-out, background-color .3s ease-in-out, border-color .3s ease-in-out, fill .3s ease-in-out, transform .3s ease-in-out;
    
    --header-fixed: rgba(247, 247, 247, 0.9);
}

* {
	box-sizing: border-box;
}

/*body {
	margin: 0;
	background: #fff;
	color: var(--primary-text); 
	font-family: var(--font-family);
	padding-top: 90px;
	padding-right: 0 !important;
	height: auto;
    min-height: 100vh; 
}*/

/* Osnovni body stilovi */
body {
    margin: 0;
    background: #fff;
    color: var(--primary-text);
    font-family: var(--font-family);
    padding-top: 0;
    min-height: 100vh;
}

/* Visina headera za inner/fixed header */
body.header-fixed {
    padding-top: 75px; /* visina headera */
}

/* ===============================
   HEADER ZA INNER / FIXED STRANICE
   =============================== */
body.header-fixed #header {
    padding: 15px 0;
    background: #fff;  /* fiksni header je uvek svetao */
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    z-index: 997;
    transition: background 0.4s ease, backdrop-filter 0.4s ease;
    backdrop-filter: none;
}

/* Ako header dobija dodatno "header-fixed" stanje na scroll (ako koristiš) */
body.header-fixed #header.header-fixed {
    background: var(--header-fixed);
    backdrop-filter: blur(6px);
}

/* Logo za fiksni header (inner stranice) */
body.header-fixed #header .svg {
    display: block;
    width: 139px;
    height: 45px;
    background-image: var(--logo-dark);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left center;
}

/* ===============================
   HEADER ZA HOME / TRANSPARENT
   =============================== */
body.header-transparent #header {
    padding: 15px 0;
    background: transparent;
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    z-index: 997;
    transition: background 0.4s ease, backdrop-filter 0.4s ease;
    backdrop-filter: none;
}

body.header-transparent #header.header-fixed {
    background: var(--header-fixed);
    backdrop-filter: blur(6px);
}

/* Logo za transparentni header */
body.header-transparent #header .svg {
    display: block;
    width: 139px;
    height: 45px;
    background-image: var(--logo-light);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left center;
}

/* Linkovi u navigaciji za transparent i fixed */
body.header-transparent #header .nav-menu li a {
    color: #fff; /* beli linkovi na transparentnom headeru */
}

body.header-fixed #header .nav-menu li a {
    color: var(--primary-text); /* tamni linkovi na fiksnom */
}

body.header-fixed #header .nav-menu li a:hover {
    color: var(--hover-color); /* tamni linkovi na fiksnom */
}

body::-webkit-scrollbar-thumb:hover {
    background-color: #555;
}

body::-webkit-scrollbar {
    width: 8px;
	background-color: #555;
}

body::-webkit-scrollbar-thumb {
    background-color: #888;
    border-radius: 10px;
}

a {
	color: var(--primary-text);
	font-family: var(--font-family);
	text-decoration: none;
}

a:hover, a:active, a:focus {
	color: var(--third-color);
	outline: none;
	font-family: var(--font-family);
}

p {
	padding: 0;
	margin: 20px 0 20px 0;
	font-family: var(--font-family);
    color: var(--primary-text);
    font-size: 19px;
}

h1, h2, h3, h4, h5, h6 {
    margin: 0;
}


.tg-btn {
    display: block;
    width: fit-content;
    color: var(--primary-color);
    border: 1px solid var(--border2);
    border-radius: 1px;
    font-weight: 500;
    font-size: 18px;
    padding: 0.80rem 1.4rem;
    margin-top: 1.8rem;
    margin-right: 0.8rem;
}

.tg-btn:hover, .tg-btn:focus, .tg-btn:active {
    color: #fff;
    background-color: var(--primary-color);
    outline: 0;
    box-shadow: none;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.tg-btn i {
  margin-left: 10px;
}
            
/*--------------------------------------------------------------
# RESPONSIVE
--------------------------------------------------------------*/

@media (max-width: 768px) {
    /* MOBILE VIEW – HOME section */
    #about-me .row {
        display: flex;
        flex-direction: column; /* elementi idu jedan ispod drugog */
    }

    #about-me .row .column:first-child {
        order: 2; /* tekst ide posle slike */
    }

    #about-me .row .column:last-child {
        order: 1; /* slika ide prvo */
    }

    #about-me .row .column {
        width: 100%; /* kolone pune širine */
    }

    #about-me .pic2 img {
        width: 100%;
        height: auto; /* da slika bude responsive */
    }
    
    /* MOBILE VIEW – ABOUT section */
    #about .pic {
        height: 600px; /* možeš podesiti visinu po želji */
    }

    #about .pic img {
        height: 100%;
        width: 100%;
        object-fit: cover; /* kropuje sliku da ispuni kontejner */
        object-position: center; /* fokus u centru slike */
    }
    
    /* MOBILE VIEW – REPERTOIRE section */
    #repertoire .row {
        flex-direction: column;
    }

    #repertoire .column {
        flex: 1 1 100%;
        width: 100%;
    }

    .table-container {
        overflow-x: auto; 
    }

    table, thead, tbody, th, td, tr {
        display: block;
        width: 100%;
    }

    thead {
        display: none;
    }

    tr {
        margin-bottom: 15px;
        border: 1px solid #ddd;
        border-radius: 8px;
        padding: 10px;
        background: #fff;
    }

    td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 8px 10px;
        border: none;
        border-bottom: 1px solid #eee;
        font-size: 15px;
        word-break: break-word; 
    }

    td:last-child {
        border-bottom: none;
    }

    td::before {
        content: attr(data-label);
        font-weight: bold;
        text-transform: uppercase;
        color: #333;
        flex-basis: 40%;
        text-align: left;
    }
    
    /* MOBILE VIEW – TEACHING section */
    #teaching .row:nth-of-type(2) {
        flex-direction: column;
    }
    
    /* Slogan sekcija */
    #teaching .slogan {
        width: 95%; /* isto kao i kolone */
        max-width: 600px; /* ograničenje širine radi konzistentnosti */
        margin: 0 auto 20px auto;
        padding: 0 10px;
        text-align: center;
    }

    #teaching .row {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
    }

    #teaching .column1,
    #teaching .column2 {
        width: 95%; /* isto kao i .column na drugim stranicama */
        max-width: 600px; /* opcionalno ograničenje širine kao kod ostalih sekcija */
        margin: 0 auto 0 auto;
        padding: 0 10px;
    }

    #teaching .column1 .btn.tg-btn {
        width: 100%;
    }

    #teaching .column2 p {
        text-align: justify; /* opciono, samo ako želiš lepše poravnanje teksta */
    }

    .popup-content {
        max-width: 95vw;
        max-height: 90vh;
        padding: 8px;
    }

    .popup-content img {
        max-height: calc(85vh - 70px);
    }

    .popup-caption {
        font-size: 14px;
    }

    .popup-close {
        font-size: 18px;
        padding: 4px 8px;
    }
    
    /* MOBILE VIEW – PHOTOS section */
    .popup {
        padding: 20px;
    }

    .popup-image-wrapper img {
        max-height: 70vh;
    }

    #prevBtn {
        left: 10px;
    }

    #nextBtn {
        right: 10px;
    }

    .nav {
        font-size: 32px;
        padding: 8px 12px;
    }
    
    
    /* MOBILE VIEW – OPTIONS section */
    #options .row {
        flex-direction: column;
        align-items: center;
    }

    #options .column {
        flex: 1 1 100%;
        max-width: 100%;
    }

    #txt_content {
        min-width: 100%;
        max-width: 100%;
    }
    
    /* MOBILE VIEW – FOOTER section */
    #footer-top .nav-menu li {
        display: block;
        margin-top: 20px;
    }
    
    #footer-bottom p {
        margin-bottom: 40px;
    }
}