/*
Theme Name: Shared PROZLIP Theme
Theme URI: https://prozlip.sitebuilderassist.com
Description: Shared theme for all PROZLIP sites
Version: 1.0.0
Author: PROZLIP Team
Text Domain: shared-prozlip-theme
*/

/* Add your custom CSS here */
body {
    font-family: Arial, sans-serif;
}

/* ==================================================
   GLOBAL STYLES
================================================== */
#footer {
    display: none;
}
#primary {
    margin-top: 3%;
}
/* Remove duplicate default header completely */
 #header[role="banner"],
#header[role="banner"],
#headerimg,
body > div#header {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
}

body {  
    font-family: Arial, sans-serif;
    background-color: #f4f4f4;
    color: #333;
    padding: 10px;
    box-sizing: border-box;
}

*, *::before, *::after {
    box-sizing: inherit;
}

html, body {
    overflow-x: visible !important;
}
.site-header {
    display: contents; 
}
/* ==================================================
   FORM STYLES
================================================== */
 
/* Container for the two columns */
        .form-content-columns {
            /* Use flexbox to arrange the columns side-by-side */
            display: flex;
            /* Allow the columns to wrap if the screen is too small, though they should stay side-by-side */
            flex-wrap: wrap; 
            /* Add a small gap between the columns */
            gap: 20px; 
            margin-bottom: 20px; /* Space above the submit button */
        }
        
        /* Style for each column */
        .form-content-columns .column {
            /* Each column takes up roughly 50% minus the gap */
            flex: 1 1 calc(50% - 10px); 
            /* The internal elements (label/input) need to be arranged vertically */
            display: flex;
            flex-direction: column;
        }
.form-container {  
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    width: 80vw !important;
    margin: 0 auto;
    padding: 20px;
}  

.form-title {  
    text-align: center;
    font-size: 24px;
    margin-bottom: 20px;
}  

label {  
    display: block;
    font-size: 14px;
    margin-bottom: 5px;
    color: #555;
}  

input[type="number"],
input[type="text"],  
input[type="email"],  
input[type="tel"], 
select,
textarea {  
    width: 100%;
    padding: 10px;
    border: 2px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
    transition: border-color 0.3s;
    margin-bottom: 15px;
    box-sizing: border-box;
}  

input[type="number"]:focus,
input[type="text"]:focus,  
input[type="email"]:focus,  
input[type="tel"]:focus,
select:focus,
textarea:focus {  
    border-color: #007bff;
    outline: none;
}  

textarea {  
    min-height: 100px;
    resize: vertical;
}  

button,  
input[type="submit"] {  
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 4px;
    padding: 10px 15px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s;
    width: 100%;
}  

button:hover,  
input[type="submit"]:hover {  
    background-color: #0056b3;
}  

.error-message {  
    color: red;
    margin-top: 10px;
    font-size: 14px;
}    

.inline-form {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
}

.inline-form select {
  margin-right: 10px;
}
.inline-form input[type="submit"] {
  margin-right: 10px;
}
.my-unique-form-override {
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 2px 5px 8px rgba(2, 86, 179, 0.5);
    width: 80vw !important;
    margin: 0 auto;
    padding: 10px;
    
}
.text-success { color: #28a745; }
.form[method="post"] {
    display: block; /* Ensure it takes up space naturally */
}
/* Style for all button rows */
.button-row {
    /* Use flex to align items horizontally */
    display: flex; 
    /* Add a gap between buttons within the same row */
    gap: 10px; 
    /* Add vertical space between the rows */
    margin-bottom: 10px; 
    /* Align buttons to the start of the row */
    justify-content: flex-start;
}

/* Ensure buttons themselves are inline to work with the gap */
.button-form {
    /* Assuming your existing .button-form handles sizing and styling */
    display: flex; /* Keeping it flex-based for centering icons */
    align-items: center;
    /* Add margin to space out the buttons slightly, if your existing style doesn't */
    margin: 0; 
}
/* ==================================================
   SEARCH STYLES
================================================== */
.use-chat-gpt-ai-context-menu-58lcl2 {  
    display: none;
}  

.search-input {  
    width: calc(50% - 10px);
    padding: 10px 30px 10px 40px;
    border: 1px solid #ccc;
    border-radius: 4px;
    transition: width 0.3s ease;
}  

.search-input:focus {  
    width: calc(100% - 40px); 
    outline: none;  
    border-color: red;
}  

#searchInput {  
    width: calc(90% - 40px);
    padding: 10px 30px 10px 40px;
    border: 1px solid #ccc;
    border-radius: 4px;
    transition: width 0.3s ease;
    margin-top: 5px;
    margin: auto;
}  

#searchInput:focus {  
    width: calc(90% - 40px); 
    outline: none;  
    border-color: red;
}  

.search-icon {  
    position: absolute;
    left: 90%;
    top: 50%;
    transform: translateY(-50%);
    color: red;
    pointer-events: none;
}  


.relative {  
    position: relative;
    flex-grow: 1;
    margin-left: 16px;
    display: inline-block;
}  

/* ==================================================
   TABLE STYLES
================================================== */
.myTable {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    
}

.myTable th, 
.myTable td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: left;
}

.myTable th {
    background-color: #0531b8 !important;
    color: white !important;
    font-weight: bold;
}

.myTable thead {
    width: auto;
    background-color: #0531b8 !important;
    padding: 10px;
    position: sticky;
    top: 0;
    z-index: 100;
}

.myTable thead th {
    padding: 8px;
    text-align: left;
    background-color: #0531b8 !important;
    color: white !important;
}

.myTable tbody tr:nth-child(even) {
    background-color: white !important;
}

tr.odd {
    background-color: #ecebec !important;
}

tr.naslovGrRizika {
    color: blue;
}

/* Table hover effects */
.hover-blue:hover {
    background-color: white;
}

.hover-blue td {
    transition: background-color 0.2s ease;
}

.hover-blue:hover td {
    background-color: white;
    border-color: blue;
    border-width: 2px;
    border-style: solid;
    text-align: center;
    font-size: 20px;
}

.column-selector {
    margin-bottom: 10px;
    padding: 10px;
    border: 1px solid #ccc;
    background-color: #f9f9f9;
}

.column-selector label {
    margin-right: 15px;
}

/* ==================================================
   LAYOUT STYLES
================================================== */
.content-area {
    float: left;
    width: 65%;
    padding-right: 20px;
}

.widget-area {
    float: right;
    width: 30%;
}

.site-content::after {
    content: "";
    display: table;
    clear: both;
   
}

/* ==================================================
   NAVIGATION STYLES
================================================== */

/* Force menu to be visible on desktop */
.menu-content {
    display: block !important;
}

/* Show hamburger only on mobile */

@media (max-width: 768px) {
    .menu-toggle {
        display: block;
    }
    
    .menu-content {
        display: none;
    }
    
    .menu-content.active {
        display: block !important;
    }
}

/* Ensure menu items are visible */
.horizontal-menu,
.second-menu {
    display: flex !important;
    list-style: none;
    padding: 0;
    margin: 0;
}

.horizontal-menu li,
.second-menu li {
    display: block;
    margin-right: 15px;
}

.horizontal-menu li a,
.second-menu li a {
    color: #333;
    text-decoration: none;
    padding: 10px 15px;
    display: block;
}

.main-navigation {
    position: -webkit-sticky;
    position: sticky;
    top: 42px; /* This must match the height of your black top bar */
    z-index: 9998;
    background-color: black; /* Prevents text behind it from showing through */
    width: 100%;
    height:20px;
}

.nav-container {
    position: relative;
    background-color: #333;
    padding: 5px;
     display: block;
}

.menu-toggle {
    display: none;
    cursor: pointer;
    width: 30px;
    height: 25px;
    position: absolute;
    background-color: white;
    top: 15px;
    right: 2px;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    z-index: 9999; 
}

.menu-toggle span {
    display: block;
    height: 3px;
    width: 100%;
    background-color: black;
    border-radius: 2px;
    z-index: 9999; 
}

.horizontal-menu,
.second-menu {
    display: flex;
    justify-content: flex-end;
    list-style: none;
    padding: 0;
    margin: 0;
}

.horizontal-menu > li,
.second-menu > li {
    position: relative;
    display: inline-block !important;
    margin-right: 20px !important;
}

.horizontal-menu li:last-child,
.second-menu li:last-child {
    margin-right: 0;
}

.horizontal-menu li a,
.second-menu li a {
    text-decoration: none;
    color: white;
    padding: 5px 10px;
    display: block;
    transition: all 0.3s ease;
}

.horizontal-menu li a:hover,
.second-menu li a:hover {
    color: #386094;
    background-color: white;
}

.horizontal-menu li.current-menu-item > a,
.horizontal-menu li.current_page_item > a,
.horizontal-menu li.current_page_parent > a,
.second-menu li.current-menu-item > a,
.second-menu li.current_page_item > a,
.second-menu li.current_page_parent > a {
    font-weight: bold;
    color: red;
}

/* Submenu styles */
.horizontal-menu ul.sub-menu,
.second-menu ul.sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    /* CHANGED: Align the right edge of the submenu with the right edge of the parent list item */
    right: 0;
    /* ADDED: We remove 'left: 0;' */
    
    background-color: #333;
    padding: 10px;
    min-width: 150px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    z-index: 1000;
}

.horizontal-menu > li:hover > ul.sub-menu,
.second-menu > li:hover > ul.sub-menu {
    display: block;
}

.horizontal-menu ul.sub-menu li,
.second-menu ul.sub-menu li {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #444;
    position: relative;
}

/* Sub-submenu styles */
.horizontal-menu ul.sub-menu ul.sub-menu,
.second-menu ul.sub-menu ul.sub-menu {
    display: none;
    position: absolute;
    top: 0;
    left: -110%;
    background-color: #333;
    padding: 10px;
    min-width: 150px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    z-index: 1001;
}

.horizontal-menu ul.sub-menu li:hover > ul.sub-menu,
.second-menu ul.sub-menu li:hover > ul.sub-menu {
    display: block;
}

.horizontal-menu ul.sub-menu ul.sub-menu li,
.second-menu ul.sub-menu ul.sub-menu li {
    border-bottom: 1px solid #444;
}

.horizontal-menu ul.sub-menu ul.sub-menu li:last-child,
.second-menu ul.sub-menu ul.sub-menu li:last-child {
    border-bottom: none;
}

/* Responsive menu styles */
@media (max-width: 768px) {
    .menu-toggle {
        display: flex;
    }

    .horizontal-menu {
        display: none;
        position: absolute;
        top: 50px;
        right: 0;
        background-color: #333;
        flex-direction: column;
        width: 200px;
        z-index: 9999;
    }

    .horizontal-menu.show {
        display: flex;
    }

    .horizontal-menu li {
        margin: 10px 0;
    }
}

/* ==================================================
   POST NAVIGATION STYLES
================================================== */
.post-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 40px;
    padding: 20px 0;
    border-top: 1px solid #e0e0e0;
    border-bottom: 1px solid #e0e0e0;
}

.nav-links {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.nav-previous,
.nav-next {
    flex-basis: 48%;
    text-decoration: none;
    transition: color 0.3s ease;
}

.nav-previous a,
.nav-next a {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #333;
}

.nav-previous a:hover,
.nav-next a:hover {
    color: #0073aa;
}

.nav-previous .nav-subtitle::before,
.nav-next .nav-subtitle::after {
    font-size: 2em;
    line-height: 1;
    color: #0073aa;
    transition: color 0.3s ease;
}

.nav-previous a:hover .nav-subtitle::before,
.nav-next a:hover .nav-subtitle::after {
    color: #005177;
}

.nav-previous a {
    justify-content: flex-start;
}

.nav-next a {
    justify-content: flex-end;
    text-align: right;
}

.nav-subtitle {
    font-size: 0.8em;
    text-transform: uppercase;
    color: #777;
}

.nav-title {
    font-weight: bold;
    display: block;
    font-size: 1.1em;
}

.nav-previous .nav-title {
    margin-left: 10px;
}

.nav-next .nav-title {
    margin-right: 10px;
}

.post-edit-link {
    display: inline-block;
    padding: 8px 16px;
    background-color: #0073aa;
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    font-weight: bold;
    margin-top: 20px;
    transition: background-color 0.3s ease;
}

.post-edit-link:hover {
    background-color: #005177;
}

/* ==================================================
   PAGINATION STYLES
================================================== */
.navigation.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 40px;
    margin-bottom: 40px;
}

.pagination .nav-links {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
}

.pagination .nav-links .page-numbers {
    padding: 8px 12px;
    text-decoration: none;
    color: #555;
    background-color: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 4px;
    margin: 0 5px;
    transition: all 0.3s ease;
}

.pagination .nav-links .page-numbers:hover {
    background-color: #e0e0e0;
    color: #333;
}

.pagination .nav-links .page-numbers.current,
.pagination .nav-links .page-numbers.current:hover {
    background-color: #0073aa;
    color: #fff;
    border-color: #0073aa;
    font-weight: bold;
    cursor: default;
}

.pagination .nav-links .prev,
.pagination .nav-links .next {
    padding: 8px 12px;
    text-decoration: none;
    color: #555;
    background-color: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 4px;
    transition: all 0.3s ease;
    margin: 0 5px;
}

.pagination .nav-links .prev:hover,
.pagination .nav-links .next:hover {
    background-color: #e0e0e0;
    color: #333;
}

/* ==================================================
   BUTTON STYLES
================================================== */
.button-container {  
    display: flex;
    align-items: center;
    gap: 10px;
}  

.button-link {  
    display: inline-block;
    background: black;   
    border: 2px solid white;   
    cursor: pointer;   
    color: white;   
    text-decoration: none;   
    padding: 10px 20px;   
    text-align: center;
    transition: all 0.3s ease;
}  

.button-link:hover {
    background: white;
    color: black;
}

.button-form {  
    background: black;   
    border: 2px solid white;   
    cursor: pointer;   
    color: white;   
    display: flex;
    align-items: center;   
    padding: 10px 20px;
    transition: all 0.3s ease;
}  

.button-form:hover {
    background: white;
    color: black;
}

/* ==================================================
   MODAL STYLES
================================================== */
.modal.fade {
    display: none;
    position: fixed;
    z-index: 1050;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-color: rgba(0,0,0,0.4);
}

.modal-dialog {
    position: relative;
    margin: 10% auto;
    padding: 0;
    width: 90%;
    max-width: 500px;
    pointer-events: none;
}

.modal-content {
    background-color: #fefefe;
    border: 1px solid rgba(0,0,0,.2);
    border-radius: .3rem;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.5);
    pointer-events: auto;
    outline: 0;
    background-clip: padding-box;
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1rem;
    border-bottom: 1px solid #dee2e6;
    border-top-left-radius: calc(.3rem - 1px);
    border-top-right-radius: calc(.3rem - 1px);
}

.modal-title {
    margin-bottom: 0;
    line-height: 1.5;
    font-size: 1.25rem;
}

.btn-close {
    padding: .5rem .5rem;
    margin: -.5rem -.5rem -.5rem auto;
    background-color: transparent;
    border: 0;
    border-radius: .25rem;
    opacity: .5;
    font-size: 1.5rem;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    cursor: pointer;
    transition: opacity 0.3s ease;
}

.btn-close:hover {
    opacity: .75;
}

.modal-body {
    position: relative;
    flex: 1 1 auto;
    padding: 1rem;
}

.modal-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    padding: .75rem;
    border-top: 1px solid #dee2e6;
    border-bottom-right-radius: calc(.3rem - 1px);
    border-bottom-left-radius: calc(.3rem - 1px);
}

.btn-primary {
    color: #fff;
    background-color: #0d6efd;
    border-color: #0d6efd;
    padding: .375rem .75rem;
    font-size: 1rem;
    border-radius: .25rem;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-primary:hover {
    background-color: #0b5ed7;
    border-color: #0a58ca;
}

.custom-modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1040;
    width: 100vw;
    height: 100vh;
    background-color: #000;
    opacity: 0.5;
}

/* ==================================================
   UTILITY CLASSES
================================================== */
#subgrizik_naziv:focus::-webkit-scrollbar {
    direction: ltr;
}

/* ==================================================
   RESPONSIVE DESIGN
================================================== */
@media (max-width: 768px) {
    .content-area {
        float: none;
        width: 100%;
        padding-right: 0;
    }
    
    .widget-area {
        float: none;
        width: 100%;
        margin-top: 20px;
    }
    
    .form-container {
        margin: 10px;
        max-width: none;
    }
    
    .myTable {
        font-size: 14px;
    }
    
    .myTable th,
    .myTable td {
        padding: 5px;
    }
}

@media (max-width: 480px) {
    body {
        padding: 5px;
    }
    
    .myTable {
        font-size: 12px;
    }
    
    .myTable th,
    .myTable td {
        padding: 3px;
    }
}