
html {
font-size: 100%;
}
[data-fontsize="large"] { font-size: 125%; }
[data-fontsize="xlarge"] { font-size: 150%; }


:root {
--frame: #d0d0d0;
--link-clr: #337ab7;
--bg-light: #E0EECD;
--bg-dark: #c4dea0;
--bg-body: #f3f8ec;
--txt: #333333;
--head: #c4dea0;
--day: #d0d0d0;
--odd: #f3f8ec;
--even: #E0EECD;
--tooltip: yellow;
--pnl-danger: #F2DEDE;
--pnl-success: #DFF0D8;
--pnl-warning: #FCF8E3;
--txt-danger: #B14542;
--txt-warning: #986D3B;
--txt-success: #53773E;
--btn-success: #4a7238;
--focus-clr: #000000;
--focus-width: 2px;
--outline-offset: 1px;
--shadow-clr: #d0d0d0;
--active-menu-clr: blue;

}

[data-theme="dark"] {
--frame: #404040;
--link-clr: #fade57;
--bg-light: #303030;
--bg-dark: #484848;
--bg-body: #1c1c1c;
--txt: white;
--head: #606060;
--day: #808080;
--odd: #1c1c1c;
--even: #303030;
--tooltip: yellow;
--pnl-danger: #a94442;
--pnl-success: #3c763d;
--pnl-warning: #986D3B;
--txt-danger: white;
--txt-warning: white;
--txt-success: white;
--btn-success: #204020;
--tooltip-bg: #aaa;
--tooltip-color: #fff;
--focus-clr: #ffff00;
--shadow-clr: #000000;
--active-menu-clr: blue;
}

[data-theme="hc"] {
--frame: #ffffff;
--link-clr: #ffff00;
--bg-light: #000000;
--bg-dark: #111111;
--bg-body: #000000;
--txt: #ffffff;
--head: #222222;
--day: #000000;
--odd: #000000;
--even: #111111;
--tooltip: #000000;
--pnl-danger: #330000;
--pnl-success: #003300;
--pnl-warning: #333300;
--txt-danger: #ff6666;
--txt-warning: #ffff66;
--txt-success: #66ff66;
--btn-success: #004400;

--tooltip-bg: #fff;
--tooltip-color: #000;
--tooltip-border: 2px solid #fff;
--focus-clr: #ffff00;
--focus-width: 3px;
--shadow-clr: #000000;

--active-menu-clr: blue;
}

body, p {
color: var(--txt);
}


#submenubar .nav-link {
    border-top: 4px solid transparent; 
    transition: all 0.2s;
    padding-top: 0.5rem !important;
}

/* Standardowy widok */
#submenubar .nav-link.active {
}

#submenubar .nav-link.active {
    border-top-color: var(--focus-color);
    font-weight: bold;
}

/* Tryb High Contrast */
[data-theme="hc"] #submenubar, 
[data-theme="dark"] #submenubar {
    --bs-navbar-active-color: var(--txt);
}


#fontsize_btn .dropdown-menu,
#theme_btn .dropdown-menu,
.ics_menu .dropdown-menu {
margin-top: 5px !important;
}

.ics_menu {
display: flex;
align-items: flex-end;
margin-top: 4px;
}

.ics_menu:focus-within {
outline: var(--focus-width) solid var(--focus-clr) !important;
outline-offset: -1px !important;
box-shadow: 0 0 0 2px var(--shadow-clr); 
z-index: 2;
}

.nav-tabs .nav-link:focus {
outline: var(--focus-width) solid var(--focus-clr) !important;
outline-offset: var(--outline-offset) !important;
box-shadow: 0 0 0 2px var(--shadow-clr); 
z-index: 2;
}

#ics_btn {
border-bottom-left-radius: 0 !important;
border-bottom-right-radius: 0 !important;
border-top-left-radius: 0.375rem !important;
border-top-right-radius: 0.375rem !important;
border: 1px solid transparent;
padding-bottom: 8px;
margin-bottom: -1px;
background-color: var(--btn-success) !important;
color: #ffffff !important;
}

#ics_btn:hover {
background-color: var(--frame) !important;
color: #000000 !important;
}

#ics_btn:focus {
outline: none !important;
}

.ics_menu.show > #ics_btn {
border-color: var(--frame) var(--frame) transparent !important;
background-color: var(--bg-dark) !important;
color: var(--txt) !important;
outline: none !important;
box-shadow: none !important;
}

/* Skip Link */
.skip-link {
position: absolute;
top: -100px;
left: 0;
background: var(--bg-dark);
color: var(--txt);
padding: 12px;
z-index: 9999;
text-decoration: none;
font-weight: bold;
}

.skip-link:focus {
top: 0;
outline: var(--focus-width) solid var(--focus-clr);
}

/* Widoczny fokus */
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus,
.theme-option:focus {
outline: var(--focus-width) solid var(--focus-clr) !important;
outline-offset: var(--outline-offset)  !important;
}

/* Klasa dla tekstów tylko dla czytników */
.visually-hidden {
position: absolute !important;
width: 1px !important;
height: 1px !important;
padding: 0 !important;
margin: -1px !important;
overflow: hidden !important;
clip: rect(0, 0, 0, 0) !important;
white-space: nowrap !important;
border: 0 !important;
}

* {
margin: 0;
padding: 0;

box-sizing: border-box;
}

body{
background-color: var(--bg-body);
min-width: 600px;
padding-top: var(--navbar-height, 140px); /* Domyślna wartość na wypadek braku JS */
padding-bottom: var(--footer-height, 30px); /* Dynamiczna przestrzeń na bottom-nav na wypadek braku JS */
}

a {
color: var(--link-clr);
text-decoration: none;
}


:root {
--navbar-height: 0px;
--footer-height: 0px;
}

.main{
padding-top: 2em;
padding-bottom: 4em;
}


.main-row{
}

.main-btn {
margin-top: 10px;
margin-bottom: 10px;
padding-top: 1.5em;
padding-bottom: 1.5em;

}

.main-btn-small {
margin: 5px;
}

p.plan-opis {
margin-top: 0px;
margin-bottom: 0px;
text-align: center;
}

p.plan-bzn {
margin-top: 12px;
text-align: justify;
}

.card {
border-radius: 8px !important;
}


.card-header {
font-size: 120%;
border-top-left-radius: 8px !important;
border-top-right-radius: 8px !important;
}


.card > .card-body {
background-color: var(--bg-body);
color: var(--txt);
border-bottom-left-radius: 8px !important;
border-bottom-right-radius: 8px !important;
}

.card > .card-body > a{
background-color: var(--bg-body);
text-decoration: none;
}

.card > .card-body > p,
.card > .card-body > ul,
.card > .card-body > ul > li{
text-align: left;
font-size: 1em;
font-weight: normal;
}

.card > .card-body > p{
margin-bottom: 4px;
}

.card > .card-body > hr{
margin-top: 4px;
margin-bottom: 4px;
}


.card-danger {
border-color: var(--pnl-danger);
}

.card-success {
border-color: var(--pnl-success);
}

.card-danger > .card-header {
background-image: none;
background-color: var(--pnl-danger);
color: var(--txt-danger);
}

.card-success > .card-header {
background-image: none;
background-color: var(--pnl-success);
color: var(--txt-success);
}


.btn-success{
background-color: var(--btn-success);
}

.card-warning > .card-header {
background-image: none;
background-color: var(--pnl-warning);
color: var(--txt-warning);
}


.table{
margin-top: 12px;
width: 100%;
}

.table a,
.lista-grup a,
p a,
.rz
{
  text-decoration: underline;
  text-decoration-thickness: 1px; /* Stałe podkreślenie - wymóg WCAG */
  text-underline-offset: 2px;    /* Poprawia czytelność */
  transition: text-decoration-thickness 0.2s;
}

.table a:hover,
.lista-grup a:hover,
p a:hover,
.rz:hover
{
    text-decoration-thickness: 3px; /* Pogrubienie po najechaniu */
}


#bottom-nav a{
  text-decoration: underline;
  text-decoration-thickness: 1px; 
  text-underline-offset: 2px;    
  transition: text-decoration-thickness 0.2s;
  color: var(--link-clr) !important;

}

#bottom-nav  a:hover{
    text-decoration-thickness: 3px; /* Pogrubienie po najechaniu */
}

.table tr.even,
.table tr.even > td,
.table tr.even > th {
background-color: var(--even) !important;
}

.table tr.odd,
.table tr.odd > td,
.table tr.odd > th {
background-color: var(--odd) !important;
}


.table tr.gray,
.table tr.gray > th,
.table tr.gray > td
{
background-color: var(--head) !important;
}

.table tr.gray td.gray-day{
background-color: var(--day) !important;
text-align: left;
width: 100%;
font-style: italic;
font-weight: bold;
}

.table tr.gray-subj,
.table tr.gray-subj > td
{
background-color: var(--day) !important;
}



.table-info tr:nth-child(even) {background: var(--even);}
.table-info tr:nth-child(odd) {background: var(--odd);}

.table-info tr.gray{ background: var(--head);}


.table hr {
margin-top:4px;
margin-bottom: 4px;
padding: 0;
border-color: var(--frame) !important;
height: 2px;
}

.item_info{
font-size: 100%;
}


h1{
font-size: 1.8em;
font-weight: bold;
text-align: center;
}

.main h2{
font-size: 1.4em;
font-weight: bold;
text-align: center;
}

.main h3{
font-size: 1.0em;
font-weight: bold;
text-align: center;
}

.main h4{
font-size: 0.9em;
font-weight: bold;
text-align: center;
}

.main ul li {
font-weight: bold;
font-size: 1.2em;
text-align: left;
}


.main ul li ul {
margin-top: 10px;
font-size: 0.9em;
margin-left: 30px;
border: none;
}

.main ul li ul li{
color: blue;
font-weight: normal;
font-size: 0.9em;
border: none;
}

.main ul.uwagi,
.main ul.uwagi > li,
.main ul.uwagi > li > ul,
.main ul.uwagi > li > ul > li
{
font-weight: normal;
font-size: 1.0em;
text-align: left;
margin-top: 0px;
color: var(--txt);
}

.navbar-custom {
background-color: var(--bg-light);
color: var(--txt);
border-radius: 0;
border: none !important;
width: 100%;
}

.navbar-custom .navbar-nav > li > a {
color: var(--txt);
}

.navbar-custom .navbar-nav > .active > a {
color: var(--txt);
background-color:transparent;
}

.navbar-custom .navbar-nav > li > a:hover,
.navbar-custom .navbar-nav > li > a:focus,
.navbar-custom .navbar-nav > .active > a:hover,
.navbar-custom .navbar-nav > .active > a:focus,
.navbar-custom .navbar-nav > .open >a{
text-decoration: none;
background-color: var(--bg-dark);
}

.navbar-custom .navbar-brand {
color: var(--txt);
}

.icon{
text-align: center;
margin: 4px;
padding: 4px;
}

.navbrand-img{
padding-top: 4px;
}

.navbar-custom .navbar-brand:hover{
background-color: var(--bg-dark);
}

.navbar-custom .navbar-toggle {
background-color: var(--bg-dark);
}

.navbar-custom .icon-bar {
color: var(--txt);
background-color: gray;
}
.navbar-custom .navbar-toggle .icon-bar {
color: var(--txt);
background-color: gray;
}

.navbar-toggler .bi {
color: var(--txt);
}


.nav-tabs > li > a{
color: var(--txt);

font-weight: bold;

border: 1px solid var(--frame);
border-top-left-radius: 8px;
border-top-right-radius: 8px;
border-bottom: none;
}

.nav-tabs > li > a:hover,
.nav-tabs > li.active > a:hover
{
color: var(--txt);
background-color: var(--frame) !important;

}

.nav-tabs > li.active > a {
color: var(--txt);
background-color: var(--bg-dark) !important;
}


#dual_table > li {
background-color: var(--bg-body) !important;
border: 1px solid var(--frame);
border-top-left-radius: 8px;
border-top-right-radius: 8px;
border-bottom: none;
}


#dual_table > li > .active,
#dual_table > li > .active > a {
background-color: var(--bg-dark) !important;
}

[data-theme='hc'] #dual_table > li > .active,
#dual_table > li > .active > a {
background-color: #ffffff !important;
}


#dual_table > .ics_menu {
border: none;
background-color: var(--btn-success) !important;
}

#dual_table > .ics_menu:hover
{
background-color: var(--frame) !important;
}

#dual_table > .ics_menu > #ics_btn,
#dual_table > .ics_menu > #ics_btn:hover
{
border: none;
background-color: transparent !important;
}

.ics_menu > li {
margin: 0px;
padding: 0px;
backgroud-color: red;
}

.ics_menu > ul {
margin: 0px;
padding: 0px;
backgroud-color: yellow;
}


#top-nav, #bottom-nav{
border: solid 1px var(--bg-dark);
margin-bottom: 0px;
padding-bottom: 0px;
}

.filter_div{
text-align: left;
padding: 4px;
margin-bottom: -12px;
border: 1px #ddd;
padding-top: 8px;
border-style: none solid none solid;
}

.filter_div .label_main{
display: inline-block;
}


.filter_div .label{
display: inline-block;
color: black;
padding-top: 0px;
padding-bottom: 0px;
padding-left: 4px;
padding-right: 4px;
margin-top: 2px;
margin-left: 4px;
font-size: 1em;
border: solid 1px #ddd;
word-wrap: break-word;
white-space:normal;
text-align: left;
}

.filter_div .label > label:first-of-type{
margin-right: 6px;
}

.rz{
font-weight: normal;
color: #337ab7;
padding: 2px;
}



.tooltip .tooltip-inner {
background-color: var(--tooltip);
color: black;
text-align: left;
}


.ics_menu > ul > li,
.ics_menu > ul > li > hr.dropdown-divider {
margin: 2px;
padding: 0px;
}

.ics_menu > ul > li > a{
margin: 1px;
padding: 0px;
}


.ics_menu li.hz{
display: inline-flex !important;
}

.ics_menu .hz > .active > a:hover,
.ics_menu .hz > .active > a:focus,
.ics_menu .hz > a:hover,
.ics_menu .hz > a:focus,
.ics_menu .hz > .open >a
{
background-color: var(--frame) !important;
}

#dual_table .dropdown-header{
margin-left: 4px;
margin-right: 4px;
text-align: center;
padding-left: 8px;
padding-right: 8px;
color: var(--txt);
font-style: italic; !important
}


#dual_table > .dropdown-menu {
display: table-caption;
}

.ics_menu li.hz > a:first-of-type{
width: 200px;
}



.ics_pg_div{
padding: 0px;
margin: 0px;
color: var(--txt) !important;
}

.ics_pg_div hr{
padding-top: 4px;
padding-bottom: 0px;
margin: 0px;
}

.ics_pg_l{
font-weight: normal;
padding-top: 4px;
padding-left: 4px;
margin: 0px;
}

.ics_pg_cb{
padding: 0px;
margin: 0px;
padding-left: 4px;
padding-right: 4px;
}


.pg_cb{
}


input[type='checkbox']:checked {
-webkit-filter: grayscale(100%);
}



.lista-grup {
background-color: white;
border: 1px solid var(--frame);
border-radius: 8px;
color: var(--txt);
padding-top: 16px;
padding-bottom: 0px;
padding-right: 16px;

}


.lista-grup-item{
list-style-type: none;
padding-left: 16px;
padding-top: 0px;
padding-bottom: 6px;
margin-top: 0px;
}

.lista-grup-item > li,
.lista-grup-item > li > a
{
font-size: 1em;
font-weight: normal !important;
}

.lista-grup > .lista-grup-item > .lista-grup{
border-radius: 0px;
border: none;
margin-top: 4px;
padding-top: 0px;
}

.theme-dropdown {
background-color: transparent;
color: var(--txt);
}

.theme-dropdown ul {
background-color: var(--bg-light) !important;
color: var(--txt);
border-color: var(--frame) !important;
list-style: none;
}

.theme-dropdown a {
background-color: var(--bg-light) !important;
color: var(--txt);
border-color: var(--frame) !important;
}

.theme-dropdown a:hover,
.theme-dropdown li:hover {
background-color: var(--bg-dark) !important;
color: var(--txt);
}

.theme-option .bi {
margin-left: 8px;
margin-right: 8px;
}


.theme-option {
margin-left: 8px;
margin-right: 8px;
}

.theme-option a:focus
{
color: var(--txt);
}




.btn-default,
.btn-default:focus
{
border-color: var(--frame);
}

.btn-default:hover,
.btn-default:focus
{
border-color: var(--frame);
background-color: var(--bg-dark);
}


.navbar-text{
margin-top: 12px;
}

[data-theme="light"]
{
.theme-option a,
.theme-option a:hover,
.theme-option a:focus,
.theme-option .open > a {
color: var(--txt) !important;
}
}

.remarks {
padding: 4px;
color: var(--txt);
}


#galleryModal .modal-dialog {
/* Pozwala oknu rosnąć do szerokości ekranu */
width: 95vw;
max-width: 95vw;

/* Zachowuje wysokość dla zdjęć pionowych */
height: 95vh;
max-height: 95vh;

margin: 2.5vh auto;
display: flex;
align-items: center; /* Centruje w pionie */
}

#galleryModal .modal-content {
/* Content musi wypełnić elastyczny dialog */
height: 100%;
width: 100%;
display: flex;
flex-direction: column;
}

#galleryModal .modal-body {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
padding: 0; /* Opcjonalnie: więcej miejsca na zdjęcie */
}

#galleryImage {
/* Obrazek wypełnia całe dostępne body, zachowując proporcje */
width: 100%;
height: 100%;
object-fit: contain;
}

#photoName {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 80%;
}





@supports not (color-scheme: dark) {
#theme_btn {
display: none;
}
}

#top-nav-prn{
display: none !important;
}


@media print {
body{
padding-top: 4px;
padding-bottom: 4px;
}

.container,
.container-fluid {
max-width: 100% !important;
width: 100% !important;
}

.main{
padding-top: 4px;
padding-bottom: 4px;
}


a[href]:after {
content: none !important;
}

#top-nav, #bottom-nav {
display: none !important;
}

#top-nav-prn {
position: static !important;
display: block !important;
}

}


[data-theme='dark'] h1, [data-theme='dark'] h2, [data-theme='dark'] h3, [data-theme='dark'] h4, [data-theme='dark'] h5,
[data-theme='dark'] h6,
[data-theme='hc'] h1, [data-theme='hc'] h2, [data-theme='hc'] h3, [data-theme='hc'] h4, [data-theme='hc'] h5,
[data-theme='hc'] h6 {
color: #ffffff !important;
}

[data-theme='dark'] table, [data-theme='dark'] .table, [data-theme='dark'] .table th, [data-theme='dark'] .table td,
[data-theme='hc'] table, [data-theme='hc'] .table, [data-theme='hc'] .table th, [data-theme='hc'] .table td {
color: var(--txt) !important;
}

[data-theme='dark'] .lista-grup, [data-theme='hc'] .lista-grup {
background-color: #111111 !important;
}


.theme-dropdown li {
white-space: nowrap !important;
}


[data-theme='dark'] .btn-default, [data-theme='hc'] .btn-default {
color: #ffffff !important;
}

[data-theme='dark'] #bottom-nav, [data-theme='hc'] #bottom-nav,
[data-theme='dark'] #bottom-nav .navbar-text, [data-theme='hc'] #bottom-nav .navbar-text{
color: #ffffff !important;
}


[data-theme='dark'] .nav-tabs .nav-link.active,
[data-theme='hc'] .nav-tabs .nav-link.active {
color: #ffffff !important;
}

[data-theme='dark'] .filter_div, [data-theme='dark'] .filter_div .label,
[data-theme='hc'] .filter_div, [data-theme='hc'] .filter_div .label {
color: #ffffff !important;
}

[data-theme='dark'] .rz {
color: #fade57 !important;
}

[data-theme='hc'] .rz {
color: #ffff00 !important;
}

[data-theme='hc'] .tooltip .tooltip-inner {
background-color: yellow !important;
color: black !important;
}

[data-theme='dark'] .ics_menu .dropdown-menu,
[data-theme='dark'] .ics_menu .dropdown-menu li,
[data-theme='dark'] .ics_menu .dropdown-menu a {
background-color: #333333 !important;
color: #ffffff !important;
}

[data-theme='hc'] .ics_menu .dropdown-menu,
[data-theme='hc'] .ics_menu .dropdown-menu li,
[data-theme='hc'] .ics_menu .dropdown-menu a {
background-color: #000000 !important;
color: #ffffff !important;
}

[data-theme='hc'] .ics_menu.show > #ics_btn {
background-color: #000000 !important;
color: #ffffff !important;
}


[data-theme='hc'] #dual_table > .ics_menu:hover {
background-color: #404040 !important;
}


.nav-tabs .nav-link.active {
background-color: var(--bg-dark) !important;
color: var(--txt) !important;
border-color: var(--frame) var(--frame) var(--bg-dark) !important;
}
.nav-tabs .nav-link:hover {
background-color: var(--frame) !important;
color: var(--txt) !important;
}
[data-theme='hc'] .nav-tabs .nav-link:hover {
background-color: #404040 !important;
color: #ffffff !important;
}
[data-theme='dark'] .nav-tabs .nav-link.active,
[data-theme='hc'] .nav-tabs .nav-link.active {
background-color: #333333 !important;
border-color: #555555 #555555 #333333 !important;
}


[data-theme='dark'] .card, [data-theme='hc'] .card {
border: 1px solid #ffffff !important;
overflow: hidden !important;
}
[data-theme='dark'] .card-header, [data-theme='hc'] .card-header {
border-radius: 0 !important;
}

[data-theme='hc'] .ics_menu.show > #ics_btn,
[data-theme='dark'] .ics_menu.show > #ics_btn,
[data-theme='hc'] #dual_table > .ics_menu > #ics_btn:focus,
[data-theme='hc'] #dual_table > .ics_menu:hover > #ics_btn,
[data-theme='dark'] #dual_table > .ics_menu:hover > #ics_btn {
background-color: #333333 !important;
color: #ffffff !important;
}

[data-theme='dark'] .nav-tabs, [data-theme='hc'] .nav-tabs {
border-bottom: 1px solid #ffffff !important;
}
[data-theme='dark'] .nav-tabs .nav-link, [data-theme='hc'] .nav-tabs .nav-link {
border-color: #ffffff !important;
}
[data-theme='dark'] .nav-tabs .nav-link.active,
[data-theme='hc'] .nav-tabs .nav-link.active {
background-color: #555555 !important;
border-color: #ffffff #ffffff #555555 !important;
border-bottom: 2px solid #555555 !important;
color: #ffffff !important;
}


[data-theme='hc'] .dropdown-menu li:hover,
[data-theme='hc'] .dropdown-menu a:hover,
[data-theme='hc'] .dropdown-menu li:focus,
[data-theme='hc'] .dropdown-menu a:focus {
background-color: #ffffff !important;
color: #000000 !important;
}

[data-theme='dark'] .dropdown-menu li:hover,
[data-theme='dark'] .dropdown-menu a:hover,
[data-theme='dark'] .dropdown-menu li:focus,
[data-theme='dark'] .dropdown-menu a:focus {
background-color: #666666 !important;
color: #ffffff !important;
}


[data-theme='hc'] .nav-tabs .nav-link.active {
background-color: #ffffff !important;
color: #000000 !important;
border-bottom: 0px !important;
}

[data-theme='dark'] .nav-tabs .nav-link.active {
background-color: #888888 !important;
color: #ffffff !important;
border-bottom: 0px !important;
}


.dropdown-menu .hz:hover {
background-color: var(--frame) !important;
}
[data-theme='dark'] .dropdown-menu .hz:hover {
background-color: #666666 !important;
}
[data-theme='hc'] .dropdown-menu .hz:hover {
background-color: #ffffff !important;
}

.dropdown-menu .hz > a:hover,
.dropdown-menu .hz > a:focus {
background-color: transparent !important;
}

[data-theme='hc'] ul.nav-tabs li.nav-item a.nav-link.active,
[data-theme='hc'] .nav-tabs .nav-item .nav-link.active,
[data-theme='hc'] .nav-tabs .nav-link.active {
background-color: #ffffff !important;
color: #000000 !important;
}


.dropdown-menu .hz:hover,
[data-theme='hc'] .dropdown-menu .hz:hover,
[data-theme='hc'] .dropdown-menu li:hover,
[data-theme='dark'] .dropdown-menu .hz:hover,
[data-theme='dark'] .dropdown-menu li:hover {
background-color: transparent !important;
}

[data-theme='hc'] .dropdown-menu a.dropdown-item:hover,
[data-theme='hc'] .dropdown-menu a:hover:not(.dropdown-item) {
background-color: #ffffff !important;
color: #000000 !important;
}

[data-theme='dark'] .dropdown-menu a.dropdown-item:hover,
[data-theme='dark'] .dropdown-menu a:hover:not(.dropdown-item) {
background-color: #666666 !important;
color: #ffffff !important;
}

html[data-theme='hc'] body .nav-tabs .nav-item.show .nav-link,
html[data-theme='hc'] body .nav-tabs .nav-link.active {
background-color: #ffffff !important;
color: #000000 !important;
border-color: #ffffff #ffffff #ffffff !important;
border-bottom: 3px solid #ffffff !important;
}


[data-theme='hc'] .theme-option:hover,
[data-theme='hc'] .fontsize-option:hover {
background-color: #ffffff !important;
color: #000000 !important;
}

[data-theme='dark'] .theme-option:hover,
[data-theme='dark'] .fontsize-option:hover {
background-color: #666666 !important;
color: #ffffff !important;
}


html[data-theme='hc'] body .dropdown-menu li.theme-option:hover,
html[data-theme='hc'] body .dropdown-menu li.fontsize-option:hover {
background-color: #ffffff !important;
color: #000000 !important;
}

html[data-theme='dark'] body .dropdown-menu li.theme-option:hover,
html[data-theme='dark'] body .dropdown-menu li.fontsize-option:hover {
background-color: #666666 !important;
color: #ffffff !important;
}

[data-theme='hc'] .theme-dropdown .dropdown-menu li:hover {
background-color: #ffffff !important;
color: #000000 !important;
}

[data-theme='dark'] .theme-dropdown .dropdown-menu li:hover {
background-color: #666666 !important;
color: #ffffff !important;
}


.theme-option, .fontsize-option {
padding: 6px 12px !important;
}
.ics_menu .dropdown-menu .hz > a,
.ics_menu .dropdown-menu .hz > a.dropdown-item {
padding: 4px 10px !important;
}

[data-theme='hc'] .btn:hover,
[data-theme='hc'] .btn:focus,
[data-theme='hc'] .show > .btn.dropdown-toggle {
background-color: #ffffff !important;
color: #000000 !important;
border-color: #ffffff !important;
}


[data-theme='hc'] .ics_menu .dropdown-menu,
[data-theme='hc'] .theme-dropdown .dropdown-menu {
border: 1px solid #ffffff !important;
}


[data-theme='dark'] #dual_table > .ics_menu > #ics_btn,
[data-theme='dark'] #dual_table > .ics_menu:hover > #ics_btn,
[data-theme='dark'] #dual_table > .ics_menu.show > #ics_btn,
[data-theme='dark'] #dual_table > .ics_menu > #ics_btn:hover,
[data-theme='dark'] #dual_table > .ics_menu > #ics_btn:focus,
[data-theme='dark'] #dual_table > .ics_menu > #ics_btn:active,
[data-theme='hc'] #dual_table > .ics_menu > #ics_btn,
[data-theme='hc'] #dual_table > .ics_menu:hover > #ics_btn,
[data-theme='hc'] #dual_table > .ics_menu.show > #ics_btn,
[data-theme='hc'] #dual_table > .ics_menu > #ics_btn:hover,
[data-theme='hc'] #dual_table > .ics_menu > #ics_btn:focus,
[data-theme='hc'] #dual_table > .ics_menu > #ics_btn:active {
background-color: transparent !important;
color: #ffffff !important;
border: none !important;
box-shadow: none !important;
}

[data-theme='dark'] #dual_table > .ics_menu:hover,
[data-theme='hc'] #dual_table > .ics_menu:hover {
background-color: #333333 !important;
}

[data-theme='dark'] #dual_table > .ics_menu.show,
[data-theme='hc'] #dual_table > .ics_menu.show {
background-color: var(--btn-success) !important;
}

[data-theme='dark'] #dual_table > .ics_menu.show:hover,
[data-theme='hc'] #dual_table > .ics_menu.show:hover {
background-color: #333333 !important;
}


html:not([data-theme='hc']):not([data-theme='dark']) .ics_menu .dropdown-menu a.dropdown-item:hover,
html:not([data-theme='hc']):not([data-theme='dark']) .ics_menu .dropdown-menu a:hover:not(.dropdown-item) {
background-color: var(--frame) !important;
color: var(--txt) !important;
}


[data-theme='hc'] .dropdown-menu .dropdown-header,
[data-theme='hc'] .dropdown-menu .dropdown-header:hover,
[data-theme='dark'] .dropdown-menu .dropdown-header,
[data-theme='dark'] .dropdown-menu .dropdown-header:hover {
background-color: transparent !important;
color: #ffffff !important;
cursor: default !important;
}


[data-theme='hc'] .dropdown-menu .dropdown-divider,
[data-theme='hc'] .dropdown-menu hr {
border-top-color: #ffffff !important;
opacity: 1 !important;
}

[data-theme='dark'] .dropdown-menu .dropdown-divider,
[data-theme='dark'] .dropdown-menu hr {
border-top-color: #aaaaaa !important;
opacity: 1 !important;
}


[data-theme='hc'] .navbar-brand.navbrand-img:hover,
[data-theme='hc'] .navbar-brand.no-underline:hover,
[data-theme='hc'] .navbar-brand.icon:hover {
background-color: #ffffff !important;
color: #000000 !important;
}

[data-theme='hc'] .navbar-brand.no-underline:not(.navbrand-img) {
padding-left: 4px !important;
padding-right: 4px !important;
}

[data-theme='hc'] #top-nav {
border-top: 1px solid #ffffff !important;
border-bottom: 1px solid #ffffff !important;
}

[data-theme='hc'] #bottom-nav {
border-top: 1px solid #ffffff !important;
}


[data-theme='hc'] #top-nav .nav-link:hover {
background-color: #ffffff !important;
color: #000000 !important;
}


[data-theme='dark'] .plan-bzn,
[data-theme='hc'] .plan-bzn,
[data-theme='dark'] .plan-opis,
[data-theme='hc'] .plan-opis
{
color: #ffffff !important;
}

[data-theme='dark'] label,
[data-theme='hc'] label
{
color: #ffffff !important;
}



[data-theme='dark'] .tooltip,
[data-theme='hc'] .tooltip {
--bs-tooltip-bg: var(--tooltip-bg);
--bs-tooltip-color: var(--tooltip-color);
}

/* Kluczowe: Automatyczne dopasowanie koloru strzałki */
[data-theme='dark'] .bs-tooltip-top .tooltip-arrow::before,
[data-theme='hc'] .bs-tooltip-top .tooltip-arrow::before {
border-top-color: var(--tooltip-bg);
}
/* Powtórz dla innych pozycji, jeśli używasz: */
[data-theme='dark'] .bs-tooltip-bottom .tooltip-arrow::before,
[data-theme='hc'] .bs-tooltip-bottom .tooltip-arrow::before {
border-bottom-color: var(--tooltip-bg);
}

/* Tło modala i teksty */

#galleryModal .modal-content {
background-color: var(--bg-body);
}

/* Tryb jasny - standardowe przyciski w modalu */
#galleryModal .btn-outline-primary {
background-color: var(--bg-light);
color: var(--txt);
border-color: var(--txt); /* Opcjonalnie, by ramka pasowała do tekstu */
}

/* Stan po najechaniu myszką (hover) */
#galleryModal .btn-outline-primary:hover {
background-color: var(--bg-dark);
color: var(--txt);
border-color: var(--txt);
}

/* Stan zablokowany (disabled) - gdy np. nie ma więcej zdjęć */
#galleryModal .btn-outline-primary:disabled,
#galleryModal .btn-outline-primary.disabled {
background-color: var(--frame);
color: var(--txt);
border-color: var(--frame);
opacity: 0.65; /* Standardowe dla Bootstrapa, można dostosować */
cursor: not-allowed;
}


[data-theme='dark'] #galleryModal .modal-content,
[data-theme='hc'] #galleryModal .modal-content {
background-color: #1a1a1a;
color: #ffffff;
border: 1px solid #444;
}

/* Przyciski Poprzedni / Następny - wersja biała */
[data-theme='dark'] #galleryModal .btn-outline-primary,
[data-theme='hc'] #galleryModal .btn-outline-primary {
color: #ffffff;
border-color: #ffffff;
background-color: transparent;
}

/* Efekt Hover dla przycisków (odwrócenie kolorów) */
[data-theme='dark'] #galleryModal .btn-outline-primary:hover,
[data-theme='hc'] #galleryModal .btn-outline-primary:hover {
background-color: #ffffff;
color: #000000;
border-color: #ffffff;
}

/* Przycisk zamknięcia (X) na biało */
[data-theme='dark'] #galleryModal .btn-close,
[data-theme='hc'] #galleryModal .btn-close {
filter: invert(1) grayscale(100%) brightness(200%);
}

/* Dodatkowo: Tło pod zdjęciem dla lepszego skupienia */
[data-theme='dark'] #galleryModal .modal-body,
[data-theme='hc'] #galleryModal .modal-body {
background-color: #000000;
}

/* Specyficzne dla HC - mocniejsza ramka modala */
[data-theme='hc'] #galleryModal .modal-content {
border: 2px solid #ffffff;
}

ul.accessibility li {
font-weight: normal;
font-size: 1em;
}
