﻿:root {
    --first: #022B3A;
    --second: #1F7A8C;
    --third: #BFDBF7;
    --fourth: #E1E5F2;
    --fifth: #FFFFFF;
    --sixth: #efefef;

    --second_disabled: #40646b;
}

html {
    font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
    margin-bottom: 60px;
    background-color: var(--sixth);
    color: #686868 !important;
}

.footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  white-space: nowrap;
  line-height: 60px;
}

/* Changelog footer link – zwykły (widziany) */
a.changelog-link {
    font-size: 0.8rem;
    color: #999;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: color 0.2s;
}

a.changelog-link:hover {
    color: #555;
    text-decoration: none;
}

/* Changelog footer button – niewidziany */
a.changelog-new-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(135deg, #6a11cb, #2575fc);
    border-radius: 20px;
    text-decoration: none;
    box-shadow: 0 2px 8px rgba(101, 17, 203, 0.35);
    transition: box-shadow 0.2s, transform 0.2s;
}

a.changelog-new-btn:hover {
    color: #fff;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(101, 17, 203, 0.5);
    transform: translateY(-1px);
}

/* Pulsujące kółko obok ikony */
.changelog-pulse {
    position: absolute;
    top: -3px;
    right: -3px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #ff4d4d;
    box-shadow: 0 0 0 0 rgba(255, 77, 77, 0.7);
    animation: changelog-ping 1.4s ease-in-out infinite;
}

@keyframes changelog-ping {
    0%   { box-shadow: 0 0 0 0 rgba(255, 77, 77, 0.7); }
    70%  { box-shadow: 0 0 0 8px rgba(255, 77, 77, 0); }
    100% { box-shadow: 0 0 0 0 rgba(255, 77, 77, 0); }
}

.navbar-color{
    background-color: var(--first);
    color: var(--fifth);
}

.main-navbar {
    margin-bottom: 1rem;
}

body.has-submenu .main-navbar {
    margin-bottom: 0;
}

.acc-submenu {
    background-color: #01161f;
    background-image: linear-gradient(180deg, #01161f 0%, #011821 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 4px 10px rgba(0, 0, 0, 0.25);
}

    .acc-submenu .container-fluid {
        display: flex;
        gap: 4px;
        padding-top: 0;
        padding-bottom: 0;
    }

.acc-submenu-link,
.acc-submenu-link:hover,
.acc-submenu-link:focus,
.acc-submenu-link:active,
.acc-submenu-link.active {
    background-color: transparent !important;
    box-shadow: none !important;
    outline: none;
}

.acc-submenu-link {
    color: var(--fifth);
    text-decoration: none;
    font-size: 0.95rem;
    padding: 10px 16px;
    position: relative;
    transition: color 0.2s ease;
}

    .acc-submenu-link::after {
        content: "";
        position: absolute;
        left: 16px;
        right: 16px;
        bottom: 0;
        height: 3px;
        border-radius: 3px 3px 0 0;
        background-color: var(--third);
        transform: scaleX(0);
        transition: transform 0.2s ease;
    }

    .acc-submenu-link:hover {
        color: var(--third);
    }

        .acc-submenu-link:hover::after {
            transform: scaleX(0.5);
        }

    .acc-submenu-link.active {
        color: var(--third);
        font-weight: 600;
    }

        .acc-submenu-link.active::after {
            transform: scaleX(1);
        }

.main-navbar .nav-link,
.main-navbar .nav-link:hover,
.main-navbar .nav-link:focus,
.main-navbar .nav-link:active,
.main-navbar .nav-link.active {
    background-color: transparent !important;
    box-shadow: none !important;
    outline: none;
}

.main-navbar .nav-link {
    position: relative;
    color: var(--fifth) !important;
    transition: color 0.2s ease;
}

    .main-navbar .nav-link::after {
        content: "";
        position: absolute;
        left: 1rem;
        right: 1rem;
        bottom: 0;
        height: 3px;
        border-radius: 3px 3px 0 0;
        background-color: var(--third);
        transform: scaleX(0);
        transition: transform 0.2s ease;
    }

    .main-navbar .nav-link:hover {
        color: var(--third) !important;
    }

        .main-navbar .nav-link:hover::after {
            transform: scaleX(0.5);
        }

    .main-navbar .nav-link.active {
        color: var(--third) !important;
        font-weight: 600;
    }

        .main-navbar .nav-link.active::after {
            transform: scaleX(1);
        }

.background-card {
    background-color: var(--fifth);
    width: 98%;
    padding: 20px 15px 20px 15px;
    line-height: 30px;
    border: solid 1px #C8C8C8;
    border-radius: 5px;
}

/*Bootstrap changes*/
.btn-primary{
    border: none;
    background-color: var(--second)
}

    .btn-primary.disabled {
        border: none;
        background-color: var(--second_disabled)
    }

.btn-primary:hover{
    background-color: var(--first)
}

.btn-primary:focus {
    box-shadow: none !important;
    background-color: var(--first) !important
}

.text-center {
    text-align: center;
}

.form-group {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.form-text-input {
    align-self: flex-start;
    width: 100%;
}

.btn-outline-primary {
    color: var(--second) !important;
    border-color: var(--second) !important;
}

    .btn-outline-primary:hover {
        color: #ffffff !important;
        border-color: var(--second) !important;
        background-color: var(--second) !important;
    }

.page-item.active .page-link {
    background-color: var(--second);
    border-color: var(--second);
}

.page-link {
    color: #686868;
}

.tag-badge {
    display: inline-block;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--second);
    background-color: transparent; 
    border: 1px solid var(--second);
    border-radius: 0.375rem;
    text-align: center;
    text-decoration: none; 
    cursor: default; 
    transition: none; 
}

.tag-badge:hover{
    background-color:red;
    color:white;
    transition:background-color linear 0.5s;
}

    .tag-badge:hover span {
        display: none
    }

    .tag-badge:hover::before {
        content: "Usuń";
        color: #f8f9fa;
    }

.accordion-button {
    color: #686868;
}

.placeholder{
    cursor:pointer;
}

/* Strefa "przeciągnij i upuść" dla pól plików (wwwroot/js/file-dropzone.js) */
.file-dropzone {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    padding: 1.25rem 1rem;
    border: 2px dashed #C8C8C8;
    border-radius: 0.5rem;
    background-color: #fafafa;
    text-align: center;
    line-height: 1.4;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

    .file-dropzone:hover {
        border-color: var(--second);
    }

    .file-dropzone.has-file {
        border-style: solid;
    }

    .file-dropzone:has(> .file-dropzone-input:focus-visible) {
        box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
    }

    /* Osobne reguły - przeglądarka bez :has() pominęłaby całą listę selektorów */
    .file-dropzone.has-error {
        border-color: var(--bs-danger);
    }

    .file-dropzone:has(> .is-invalid) {
        border-color: var(--bs-danger);
    }

    /* Na końcu - podświetlenie przy przeciąganiu ma pierwszeństwo przed stanem błędu */
    .file-dropzone.is-dragover {
        border-color: var(--second);
        background-color: var(--fourth);
    }

/* Przezroczysty input na całej strefie - kliknięcie otwiera okno wyboru pliku */
.file-dropzone-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.file-dropzone-icon {
    font-size: 1.75rem;
    line-height: 1;
    color: var(--second);
}

.file-dropzone-link {
    color: var(--second);
    font-weight: 600;
    text-decoration: underline;
}

.file-dropzone-file {
    font-weight: 600;
    color: #212529;
    word-break: break-all;
}

    .file-dropzone-file:empty {
        display: none;
    }

.file-dropzone.has-error .file-dropzone-file {
    color: var(--bs-danger);
}

