/*
Theme Name: SP3SLU
Theme URI: ---
Author: SP8TZ (grafista.pl)
Author URI: grafista.pl
Description: ---
Tags: accessibility-ready, one-column, two-columns, custom-menu, featured-images, microformats, sticky-post, threaded-comments, translation-ready
Version: 2025
Requires at least: 5.2
Tested up to: 6.5
Requires PHP: 7.4
License: (c) Wszelkie prawa zastrzeżone
License URI: ---
Text Domain: SP3SLU.pl

SP3SLU WordPress Theme 2025
*/

/* resetowanie stylów / czysty Wordpress */

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
html {
    scroll-behavior: smooth;
}
body {
    line-height: 1;
}
a {
    text-decoration-skip-ink: auto;
}
a[href^="tel"] {
    color: inherit;
    text-decoration: none;
}
button {
    outline: 0;
}
blockquote,
q {
    quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none;
}
q {
    display: inline;
    font-style: italic;
}
q:before {
    content: '"';
    font-style: normal;
}
q:after {
    content: '"';
    font-style: normal;
}
textarea,
input[type="text"],
input[type="button"],
input[type="submit"],
input[type="reset"],
input[type="search"],
input[type="password"] {
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
}
input[type="search"] {
    -webkit-appearance: textfield;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
th,
td {
    padding: 2px;
}
big {
    font-size: 120%;
}
small,
sup,
sub {
    font-size: 80%;
}
sup {
    vertical-align: super;
}
sub {
    vertical-align: sub;
}
dd {
    margin-left: 20px;
}
kbd,
tt {
    font-family: courier;
    font-size: 12px;
}
ins {
    text-decoration: underline;
}
del,
strike,
s {
    text-decoration: line-through;
}
dt {
    font-weight: bold;
}
address,
cite,
var {
    font-style: italic;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}
* {
    /* box-sizing: border-box; */
    -webkit-tap-highlight-color: transparent;
}
.sticky {
}
.bypostauthor {
}
.wp-caption {
}
.wp-caption-text {
}
.gallery-caption {
}
.alignright {
}
.alignleft {
}
.aligncenter {
text-align: center;
}

.aligncenter
{
display: block;
margin: 0 auto;
}

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
    word-break: normal;
}
.screen-reader-text:focus {
    background-color: #f7f7f7;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    -webkit-clip-path: none;
    clip-path: none;
    color: #007acc;
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    right: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}
.skip-link {
    left: -9999rem;
    top: 2.5rem;
    z-index: 999999999;
    text-decoration: underline;
}
.skip-link:focus {
    display: block;
    left: 6px;
    top: 7px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    line-height: normal;
    padding: 15px 23px 14px;
    z-index: 100000;
    right: auto;
}
.visually-hidden:not(:focus):not(:active),
.form-allowed-tags:not(:focus):not(:active) {
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
}

/* GLOBALNY CSS, mój standardowy + indywidualna stylizacja dla SP3SLU: */ 
/* (c) Tobiasz Małysa 2025 */

*, body
{
margin: 0;
padding: 0;

/* font-variant-numeric: tabular-nums; psuje łamanie wyrazów */
font-variant-numeric: lining-nums;
font-variant-ligatures: none;
font-feature-settings: "liga" 0;
font-kerning: normal;

letter-spacing: normal;
word-spacing: normal;

--scrollbarTrackBackgroundColor: darkgrey;
--scrollbarTrackBorderColor: #000000;
--scrollbarThumbBackgroundColor: #ffffff;
--scrollbarThumbBorderColor: #000000;

--color_accent1: #939393; /* ciemne aluminium */
--color_accent2: #e3e7e6; /* jasne aluminium */
--color_accent3: #fc984c; /* jasny pomarańcz */
--color_accent4: #fc6a38; /* ciemny pomarańcz */
--color_accent5: #379df1; /* niebieski */
--color_accent6: #00b0d4; /* błękitny (jaśniejszy) */
--color_accent7: #30d5c8; /* morski */
--color_accent8: #f6feff; /* szklany */
--color_accent9: #def6fb; /* ciemno-szklany */

--color_white: #ffffff;
--color_white10pr: #f0f0f0;
--color_black: #000000;
--color_yellow: #F2C200;
--color_focus: var(--color_accent4);

--color_nav: var(--color_black);
--color_nav_underline: var(--color_black);
--color_nav-hover: var(--color_black);
--color_nav-hover-underline: var(--color_accent3);

--color_nav2: var(--color_white);
--color_nav2_underline: var(--color_white);
--color_nav2-hover: var(--color_black);
--color_nav2-hover-underline: var(--color_accent3);

--font_size_vsm: 0.724rem;
--font_size_sm: 0.851rem;
--font_size_base: 1rem; /* 18 px */
--font_size_md: 1.175rem;
--font_size_lg: 1.381rem;
--font_size_xl: 1.622rem;
--font_size_xxl: 1.906rem;
--font_size_xxxl: 2.24rem;
--font_size_xxxxl: 2.632rem;
--font_size_xxxxxl: 4rem;

/*
--text-size-80: 0.694rem;
  --text-size-90: 0.833rem;
  --text-size-100: 1rem;
  --text-size-200: 1.2rem;
  --text-size-300: 1.44rem;
  --text-size-400: 1.728rem;
  --text-size-500: 2.074rem;
  --text-size-600: 2.488rem;
  --text-size-700: 2.986rem;
*/

font-size: var(--font_size_base);

--line-height-sm: 1;
--line-height-normal: 1.25;
--line-height-standard: 1.75; /* 1.25 */
--line-height-base: 1.5;
--line-height-md: 1.75;
--line-height-lg: 2;
--line-height-xl: 2.5;
--line-height-xxl: 3;
line-height: var(--line-height-standard);

}

body, html
{
margin: 0;
padding: 0;
width: 100%;
height: 100%;
background-color: var(--color_accent2);
}

body
{
margin: 0;
padding: 0;

font-family: "bc-eric-machat", sans-serif;
font-weight: 400;
font-style: normal;
}

.regularFont
{
font-family: "bc-eric-machat", sans-serif;
font-weight: 400;
font-style: normal;
}

.headlineFont
{
font-family: "bc-eric-machat-headline", sans-serif;
font-weight: 400;
font-style: normal;
}

html
{
font-size: 106.25%; /* 17 px */ /* 106.25%; /* 18 px */ */
}

@media (max-width: 1000px) {
html {
  font-size: 100%; /* 16 px */
}
}

@media (max-width: 1000px) { /* ZMIANA SKALI TYPOGRAFICZNEJ NA KOMÓRKI */
*, body
{

--font_size_vsm: 0.79rem;
--font_size_sm: 0.889rem;
--font_size_base: 1rem;
--font_size_md: 1.125rem;
--font_size_lg: 1.266rem;
--font_size_xl: 1.424rem;
--font_size_xxl: 1.602rem;
--font_size_xxxl: 1.802rem;
--font_size_xxxxl: 2.027rem;
--font_size_xxxxxl: 3rem;
}
}


html.koloryStandard * 
{ 
--color_white: #ffffff;
--color_black: #000000;

--color_accent1: #58574b;
--color_accent2: #f1eadb;
--color_accent3: #f3b387;
--color_accent4: #ae6d52;
--color_accent5: #a1ce5e;
--color_accent6: #bbc3d6;
}

html.koloryKontrast * 
{ 
--color_white: #000000;
--color_black: yellow;

--color_focus: #ffffff;
--color_accent1: #000000;
--color_accent2: #000000;
--color_accent3: #000000;
--color_accent4: #000000;
--color_accent5: #000000;
--color_accent6: #000000;
  text-decoration-color: #ffffff;
}

*, *::before, *::after
{
/* box-sizing: border-box; */
}

:focus
{
outline: 2px solid transparent;
outline-offset: 2px;
box-shadow: 0 0 0 3px var(--color_focus);
transition: box-shadow 0.25s ease;
}

a
{
color: var(--color_nav);
text-decoration: underline;
text-decoration-color: var(--color_nav_underline);
text-underline-offset: 5px;
}

a:hover
{
color: var(--color_nav-hover);
text-decoration: underline;
text-decoration-thickness: 0.2rem;
text-decoration-color: var(--color_nav-hover-underline);
text-underline-offset: 4px;
}

p
{
margin-top: 0.25em;
margin-bottom: 0.25em;
}

small
{
font-size: var(--font_size_sm);
}

sup 
{
vertical-align: sup;
font-size: var(--font_size_sm);
}

sub 
{
vertical-align: sub;
font-size: var(--font_size_sm);
}

/*
blockquote
{
font-family: 'DM Mono', monospace;
margin: 8px;
padding: 16px;
border-left: 24px solid var(--leftBorderAccentColor);
margin-bottom: 1em;
}
*/

blockquote:before
{
}

blockquote:after
{
}

pre
{
font-family: Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif;
white-space: pre-wrap;
width: auto;
margin-top: 1em;
margin-bottom: 1em;
}

hr
{
margin-top: 16px;
margin-bottom: 16px;
color: var(--topBorderAccentColor);
border: 1px solid;
width: 66%;
}

fieldset
{
margin: 1em;
border: 0.2em dashed #000000;
padding: 1em;
margin-bottom: 2em;
}

legend
{
font-family: 'DM Mono', monospace;
font-weight: 600;
padding: 8px;
}

table
{
padding: 0;
margin: 0;
/* border: 1px solid var(--topBorderAccentColor); */
}

th
{
font-family: 'DM Mono', monospace;
font-weight: 600;
/* border: 1px dashed var(--topBorderAccentColor); */
}

thead > tr
{
/* border: 1px dashed var(--topBorderAccentColor); */
padding: 0;
}

table tr
{
/* border: 1px dotted var(--topBorderAccentColor); */
padding: 0;
margin: 0;
}

table td
{
/* border: 1px dotted var(--topBorderAccentColor); */
padding: 0;
margin: 0;
}

h6
{
font-family: "bc-eric-machat-headline", sans-serif;
font-weight: 400;
font-size: var(--font_size_md);
margin-bottom: 1rem;
}

h5
{
font-family: "bc-eric-machat-headline", sans-serif;
font-weight: 400;
font-size: var(--font_size_lg);
margin-bottom: 1rem;
}

h4
{
font-family: "bc-eric-machat-headline", sans-serif;
font-weight: 400;
font-size: var(--font_size_xl);
margin-bottom: 1rem;
}

h3
{
font-family: "bc-eric-machat-headline", sans-serif;
font-weight: 400;
font-size: var(--font_size_xxl);
margin-bottom: 1rem;
}

h2
{
font-family: "bc-eric-machat-headline", sans-serif;
font-weight: 400;
font-size: var(--font_size_xxxl);
margin-bottom: 1rem;
}

h1
{
font-family: "bc-eric-machat-headline", sans-serif;
font-weight: 400;
font-size: var(--font_size_xxxxl);
margin-bottom: 1rem;
}

h1, h2, h3, h4, h5, h6
{
color: var(--color_accent4);
font-variant-numeric: lining-nums tabular-nums;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a
{
color: var(--color_accent4);
text-decoration: none;
}

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover
{
color: var(--color_accent3);
text-decoration: none;
}

/* LISTY WYPUNKTOWANE */

ul {
margin: 0;
padding: 0;
}

ul:nth-of-type(1) {
list-style-type: disc;
}

ul:nth-of-type(2) {
list-style-type: circle;
}

ul:nth-of-type(3) {
list-style-type: square;
}

ul > ul {
margin: 0;
padding: 0;
}

ul > li {
display: table;
margin-bottom: 0.1em;
}

ul > li:before {
content: "•";
display: table-cell;
padding-right: 0.6em;
}



li ul > li {
margin: 0;
}

li ul > li:before {
content: "◦";
}

li li ul > li:before {
content: "▪";
}

/* Lista uporządkowana (OL) */

ol
{
padding-left: 32px; /* Dodanie paddingu */
counter-reset: item;
}

ol > li
{
display: list-item;
counter-increment: item;
margin-bottom: 0.6em;
}

ol > li
{
display: list-item;
counter-increment: item;
margin-bottom: 0.6em;
position: relative; /* Potrzebne do zidentyfikowania lokalności pseudoelementu */
}

ul > li

{
padding-left: 32px;
}

/* LISTY KONIEC */

strong
{
font-weight: 700;
}

em
{
font-style: italic;
}

.clearBoth
{
clear: both;
}

/* SCROLLBAR */

body::-webkit-scrollbar {
  width: calc(18px + .25em);
}

body::-webkit-scrollbar-track {
  background: var(--scrollbarTrackBackgroundColor);
  border: 1px solid var(--scrollbarTrackBorderColor);
}

body::-webkit-scrollbar-thumb {
  background-color: var(--scrollbarThumbBackgroundColor);
  border-radius: 12px;
  border: 1px solid var(--scrollbarThumbBorderColor);
}

*,
*::before,
*::after {
/*
  box-sizing: border-box;
*/
}

/* dalszy CSS WORDPRESS (c) Tobiasz Małysa 2024 */

/* ŁAMANIE WYRAZÓW */

.break-words
{
word-break: break-all;
hyphens: auto;
overflow-wrap: break-word;
}

.break-words wbr::after
{
content: "-";
color: red;
}

body
{
font-kerning: normal;
/* font-variant: common-ligatures tabular-nums proportional-nums; */
font-feature-settings: "kern", "liga", "clig", "onum", "pnum";
}

*
{
/*
-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: antialiased;
	font-smoothing: antialiased;
text-rendering: optimizeLegibility;
*/
}

p
{
margin-bottom: 1em;
}


/* */
/* GŁOWNY SZKIELET STRONY */
/* */



@media (min-width: 1980px)
{
.nadKontener
{
width: 100%;
max-width: 1800px;
margin: 0 auto;
box-shadow: 
0 0 0 1px rgba(252, 105, 56, 0.5),
0 4px 6px -1px rgba(255, 0, 0, 0.9),
0 2px 10px -1px rgba(252, 152, 76, 0.9);
}
}

.mainContainer
{
box-sizing: border-box;
margin: 0 auto;
width: 100%;
background-color: var(--color_accent2);
border-radius: 8px;
/* padding-left: 1em; padding-right: 1em; */
}

#wrapper
{
margin: 0 auto;
width: 100%;
/* background-color: var(--color_accent2); */
}

#branding
{
display: flex;
justify-content: center;
align-items: center;
padding-top: 1em;
margin-left: 1em;
margin-right: 1em;
margin-bottom: 0.1em;
}

#topLogo
{
width: 100%;
max-width: 1200px;

}

.blog-motto {
    margin: 0 auto;
    padding: 0.25em 1em;
    font-family: 'como', sans-serif;
    font-weight: 700;
    font-size: var(--font_size_xxxl);
    text-align: center;
    color: var(--color_accent5);
    line-height: 1;
    position: relative;
    background: linear-gradient(
        120deg,
        var(--color_accent8) 0%,
        rgba(246, 254, 255, 0.8) 50%,
        var(--color_accent8) 100%
    );
}

.blog-motto::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: repeating-linear-gradient(
        45deg,
        var(--color_accent7) 0,
        var(--color_accent7) 1px,
        transparent 1px,
        transparent 10px
    );
    opacity: 0.03;
    z-index: 1;
}

.blog-motto::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: repeating-linear-gradient(
        -45deg,
        var(--color_accent5) 0,
        var(--color_accent5) 1px,
        transparent 1px,
        transparent 10px
    );
    opacity: 0.02;
    z-index: 1;
}



#menu
{
background-color: var(--color_accent1);
display: flex;
}


@media (max-width: 768px)
{
.nadKontener
{
padding: 0.1em;
}

.mainContainer
{
border: none;
box-shadow: none;
padding-left: 0;
padding-right: 0;
}

#branding
{
display: flex;
justify-content: center;
align-items: center;
padding-top: 0.25em;
margin-left: 0.25em;
margin-right: 0.25em;
margin-bottom: 0.25em;
}
}

/* Kontener formularza wyszukiwania */
/* Kontener formularza */
.search-form {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Input wyszukiwania */
.search-input {
    font-variant-numeric: lining-nums tabular-nums;
	font-family: font-family: "bc-eric-machat", sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: var(--font_size_md);
    color: var(--color_white);
    background-color: transparent;
    border: 2px solid var(--color_white);
    padding-left: 4px;
    padding-right: 4px;
	padding-top: 10px;
	padding-bottom: 10px;
    min-width: 250px;
    transition: all 0.3s ease;
}

.search-input:focus {
    outline: none;
    border-color: var(--color_accent7);
}

.search-input::placeholder {
    color: var(--color_white);
    opacity: 0.7;
}

/* Przycisk wyszukiwania */
/* Przycisk wyszukiwania */
.search-submit {
    font-variant-numeric: lining-nums tabular-nums;
    font-family: "bc-eric-machat-headline", sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: var(--font_size_xxl);
    color: var(--color_black);
    background-color: var(--color_accent7);
    border: 2px solid var(--color_accent7);
    padding-left: 16px;
    padding-right: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.search-submit:hover {
    color: var(--color_accent7);
    background-color: transparent;
    border-color: var(--color_accent7);
}


/* Responsywność */
@media (max-width: 768px) {
    .search-form {
        flex-direction: column;
        width: 100%;
    }
    
    .search-input,
    .search-submit {
        width: 100%;
    }
}

/* Dodaj do istniejącego CSS */
.search-icon {
    display: none;
}

.search-text {
    display: block;
}

@media (max-width: 768px) {
    .search-form {
        flex-direction: row;
        width: 100%;
        gap: 5px;
    }
    
    .search-input {
        flex: 1;
    }
    
    .search-submit {
        width: auto;
        padding: 8px 12px;
    }
    
    .search-text {
        display: none;
    }
    
    .search-icon {
        display: block;
        font-size: var(--font_size_xxl);
        line-height: 1;
    }
}




/* */
/* MENU GÓRNE */
/* */

/* Kontener główny menu */
#menu {
    padding: 0.5em;
    display: flex;
    justify-content: center;
    flex-wrap: wrap; /* Dodane zawijanie elementów */
    gap: 10px; /* Odstęp między elementami menu */
}

/* Wrapper dla pary ikonka + link */
.menu-item-wrapper {
    display: flex;
    align-items: center;
    flex: 0 0 auto; /* Zapobiega rozciąganiu elementów */
}

#menu #search
{
    display: flex;
    align-items: center;
    flex: 0 0 auto; /* Zapobiega rozciąganiu elementów */
}

/* Kontener dla całego elementu menu */
/* Kontenery dla ikon */
.ikonkaNieaktywnegoItemMenu,
.ikonkaAktywnegoItemMenu {
    display: inline-block;
    width: 24px;
    height: 24px;
    position: relative;
	margin-right: 10px;
	flex-shrink: 0; /* Zapobiega kurczeniu się ikonki */
}

/* Style dla obrazków */
.ikonkaNieaktywnegoItemMenu img,
.ikonkaAktywnegoItemMenu img {
    width: 100%;
    height: 100%;
    display: block;
}

/* Style dla linków */
.nieaktywnyItemMenu,
.aktywnyItemMenu {
	font-variant-numeric: lining-nums tabular-nums;
	font-family: "bc-eric-machat-headline", sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: var(--font_size_xxl);
	color: var(--color_white);
    display: inline-block;
    padding-top: 16px;
    padding-bottom: 16px;
    padding-right: 16px;
    text-decoration: none;
    line-height: 24px; /* Dostosuj do wysokości ikonki */
    transition: all 0.3s ease;
}

/* Hover dla nieaktywnego elementu */
.nieaktywnyItemMenu:hover {
	color: var(--color_accent3);        
    /* background-color: #f8f8f8; */
}

/* Style dla aktywnego elementu */
.aktywnyItemMenu {
	color: var(--color_accent7);    
    /* background-color: #f5f5f5; */
}

/* Style dla aktywnego elementu */
.aktywnyItemMenu:hover {
	color: var(--color_accent3);
    /* background-color: #f5f5f5; */
	text-decoration: none;
}



/* */
/* MENU KATEGORII GÓRNE */
/* */

.menuGorneKategorii
{
margin: 0 auto;
display: flex;
justify-content: center;
background-color: var(--color_accent8);
}

/* Kontenery dla ikon */
.ikonkaNieaktywnegoItemMenuKategorie,
.ikonkaAktywnegoItemMenuKategorie {
    display: inline-block;
    width: 20px;
    height: 20px;
    position: relative;
    margin-right: 8px;
	margin-left: 16px;
    flex-shrink: 0; /* Zapobiega kurczeniu się ikonki */
}

/* Style dla obrazków */
.ikonkaNieaktywnegoItemMenuKategorie img,
.ikonkaAktywnegoItemMenuKategorie img {
    width: 100%;
    height: 100%;
    display: block;
}

/* Style dla linków */
.nieaktywnyItemMenuKategorie,
.aktywnyItemMenuKategorie {
    font-variant-numeric: lining-nums tabular-nums;
    font-family: "bc-eric-machat-headline", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: var(--font_size_xl);
    color: var(--color_black);
    display: inline-block;
    padding-top: 16px;
    padding-bottom: 16px;
    text-decoration: none;
    line-height: 24px;
    transition: all 0.3s ease;
}

/* Hover dla nieaktywnego elementu */
.nieaktywnyItemMenuKategorie:hover {
    color: var(--color_accent7);
}

/* Style dla aktywnego elementu */
.aktywnyItemMenuKategorie {
    color: var(--color_accent7);
}

/* Style dla aktywnego elementu hover */
.aktywnyItemMenuKategorie:hover {
    color: var(--color_accent7);
}

/* Dodatkowe style dla kontenera menu kategorii */
#menuKategorii {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

/* Style dla wrappera pojedynczego elementu menu */
.menu-item-wrapperKategorie {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

#menuTagow
{
margin: 0 auto;
display: flex;
justify-content: center;
flex-wrap: wrap;
}


.kategorieLinkReszta
{
margin-left: 16px;
font-weight: 500;
}


/* */
/* MENU MOBILOWE */
/* */


/* Styl dla całego overlay */
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  overflow: hidden;
}

.menu-content {
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  background: #fff;
  overflow-y: auto; /* Tylko menu ma przewijanie */
  z-index: 1001;
}


/* Hamburger */
.hamburger {
  display: none;
  cursor: pointer;
  padding: 15px;
  z-index: 100000;
}

.hamburger span {
  display: block;
  width: 25px;
  height: 3px;
  background: #000;
  margin: 5px 0;
}

/* Zawartość menu */
.overlay-content {
  width: 100%;
  height: 100%;
  padding: 20px;
  color: #fff;
}

#menuMobiloweCalosc {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  
}

#menuMobiloweCalosc .ikonkaAktywnegoItemMenuKategorie
{
margin: 0!important;
}

#menuMobiloweCalosc .ikonkaAktywnegoItemMenuKategorie
{
margin: 0!important;
}

.mobileMenuItem a
{
color: var(--color_white);
}

/* Media query */
@media (max-width: 768px)
{
  .hamburger {
    display: block;
  }
  
  .menu-desktop {
    display: none;
  }
}

/* Przycisk zamykania */
.closebtn {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 40px;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  transition: background-color 0.3s ease;
}

.closebtn:hover {
  background-color: rgba(255, 255, 255, 0.2);
  color: #fff;
}


.hamburger {
  display: none;
  cursor: pointer;
  padding: 15px;
}

@media (max-width: 768px)
{
.hamburger
{
display: flex;
justify-content: center;
align-items: center;
font-weight: 600;
font-size: var(--font_size_xl);
}

.menuHD
{
display: none;
}
}

.hamburger span {
  display: flex;
  width: 25px;
  height: 3px;
  background: #000;
  margin: 0 auto;
}

.overlay {
  height: 100%;
  width: 100%;
  display: none;
  position: fixed;
  z-index: 99999;
  top: 0;
  left: 0;
  background-color: rgba(0,0,0, 0.9);
  overflow-y: auto;
}

.overlay-content {
  position: relative;
  top: 5%;
  width: 100%;
  text-align: center;
  margin-top: 30px;
}

.overlay .closebtn {
  position: absolute;
  top: 20px;
  right: 45px;
  font-size: 60px;
  color: #fff;
  text-decoration: none;
}



/* */
/* STYLIZACJA POSTÓW */
/* */

#wrapper
{
    /* background-color: #00b0d4; */
background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
    min-height: 100vh;
}

.articleContainer
{
    overflow: hidden;
    width: 100%;
    position: relative;
}


article
{
width: 100%;
max-width: 1200px;
margin: 0 auto;
background-color: rgba(227, 231, 230, 0.95); /* var(--color_accent2); #e3e7e6 z 90% nieprzezroczystości */
padding: 0;
box-sizing: border-box;
}

article .entry-content
{

}

.belkaPrzedArticle {
  background-image: linear-gradient(
    to bottom,
    var(--color_white) 0%,
    var(--color_accent3) 33%,
    var(--color_accent3) 66%,
    var(--color_accent4) 100%
  );
  height: 32px;
  min-height: 32px;
  display: block;
  position: relative;
}

.article-content-wrapper {
    padding: 0 1em;
}

article .header {
  width: 100%;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
  /* reszta stylów bez zmian */
  padding-top: 1rem;
  padding-bottom: 3rem;
  display: flex;
  gap: 32px;
  flex-direction: column-reverse;
  align-items: center;
  background-image: linear-gradient(
    to bottom,
    var(--color_white) 50%,
    transparent 100%
  );
}

.naglowekPostTitleIMG
{
width: 100%;
max-width: 32px;
top: -8px;
position: relative;
}

article .header h1 {
    margin-left: 0.25em;
    font-size: var(--font_size_xxxxxl);
    position: relative;
    color: var(--color_accent4);
    line-height: var(--line-height-normal);
    text-shadow: 2px 2px 0 var(--color_white);
	margin: 0 auto;

}


.entry-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;

}

.title-text {
    display: inline-block;
    width: auto;
    margin-bottom: 0.5rem;
}

.title-meta {
    font-size: var(--font_size_xl);
    color: var(--color_accent1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: fit-content;
    margin: 0 auto;
    text-shadow: none;
}

.title-wrapper.no-thumbnail {
    flex: 0 0 100%;
    text-align: center;
}


.title-wrapper.with-thumbnail {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
}

.title-wrapper.with-thumbnail h1 {
    text-align: left;
    margin-left: 0;
}

.title-wrapper.with-thumbnail .entry-meta {
    align-self: flex-start;
    width: 100%;
    text-align: left;
}

@media (max-width: 768px) {
    .title-wrapper.with-thumbnail {
        align-items: center;
    }
    
    .title-wrapper.with-thumbnail h1,
    .title-wrapper.with-thumbnail .entry-meta {
        text-align: center;
    }
}


.post-thumbnail {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 6px;
    /* Tło – gradient od ciemnego aluminium do jasnego aluminium */
    background: linear-gradient(145deg, var(--color_accent1), var(--color_accent2));
    border-radius: 2px;
    box-sizing: border-box;
    box-shadow: 
        /* Delikatna wewnętrzna poświata */
        inset 0 0 0 1px rgba(255,255,255,0.15),
        /* Wewnętrzny obręb na ciemny pomarańcz */
        inset 0 0 0 2px var(--color_accent2),
        inset 0 0 30px var(--color_accent2),
        /* Zewnętrzne obramowanie z ciemnego aluminium */
        0 0 0 1px var(--color_accent1),
        0 0 20px var(--color_accent1);
    margin-left: 1em;
}

.post-thumbnail::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 6px;
    height: 6px;
    /* Migająca kropka – jasny pomarańcz */
    background: var(--color_accent3);
    border-radius: 50%;
    box-shadow: 
        0 0 5px var(--color_accent3),
        0 0 10px var(--color_accent3);
    animation: blink 2s infinite;
}

.post-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
    /* Obramowanie zgodnie z jasnym aluminium */
    border: 1px solid var(--color_accent2);
    /* Subtelny cień, który można zmienić np. na niebieską poświatę */
    box-shadow: 0 0 2px var(--color_accent5);
    filter: brightness(1.05);
}

.post-thumbnail::before {
    content: '';
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    /* Efekt pasów – szklisty, lekko półprzezroczysty */
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(255,255,255,0.2) 50%,
        transparent 100%
    );
    pointer-events: none;
    z-index: 2;
    animation: scanline 15s linear infinite;
}

@keyframes scanline {
    0% {
        transform: translateY(-100%);
    }
    100% {
        transform: translateY(100%);
    }
}

@keyframes blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.3; }
}

@media (max-width: 768px) {
    .post-thumbnail {
        width: calc(100% - 12px); /* kompensacja paddingu */
        margin: 6px;
    }
    
    article .header {
        padding: 1rem 0.5rem;
    }
}





.title-wrapper {
    width: 100%;
    text-align: center;
}

.entry-title {
    margin: 0;
}

@media (min-width: 769px)
{
    article .header {
        flex-direction: row;
        align-items: flex-start;
    }
    
    .post-thumbnail {
        flex: 0 0 25%;
        max-width: 25%;
        margin-top: 0;
        margin-right: 1rem;
    }
    
    .title-wrapper {
        flex: 0 0 66%;
        text-align: left;
    }
}

@media (max-width: 768px) {
    article .header {
        padding: 1rem;
        display: flex;
        flex-direction: column-reverse;
        align-items: center;
    }
    
}



@media (max-width: 768px)
{
article .header h1
{
font-size: var(--font_size_xxxxxl);
margin: 0 auto;
text-align: center;
width: 100%;
}
}



.entry-meta {
    font-size: var(--font_size_s);
    color: var(--color_accent1);
    margin-top: 0.5rem;
    text-align: center;
}

.entry-meta time {
    display: inline-block;
}

.entry-meta a {
    color: inherit;
    text-decoration: none;
}

.entry-meta a:hover {
    text-decoration: underline;
}

.category-separator,
.edit-link-separator {
    margin: 0 0.5rem;
    opacity: 0.6;
}

.entry-categories a:not(:last-child):after {
    content: ", ";
    opacity: 0.6;
}

@media (max-width: 768px) {
    .entry-meta {
        text-align: center;
    }
}



.post-taxonomy {
    font-size: var(--font_size_s);
    color: var(--color_accent1);
    text-align: right;
    margin-right: 1em;
    margin-top: 1em;
    margin-bottom: 1em;
    margin-left: 0.25em;
	padding-right: 0.5em;
    width: fit-content;
    margin-left: auto; /* dla zachowania wyrównania do prawej */
}


.post-taxonomy a {
    color: inherit;
    text-decoration: none;
}

.post-taxonomy a:hover {
    text-decoration: underline;
    color: var(--color_accent4);
}

.post-categories,
.post-tags {
    display: block;
    line-height: 1.5;
}


/* OBRAZKI W POSTACH */

/* Najpierw opakuj każdy obrazek w div */
/* OBRAZKI W POSTACH */
.entry-content img {
    display: inline-block;
    height: auto;
    border: 1px solid rgba(255,255,255,0.1);
    box-shadow: 0 0 2px rgba(0,255,0,0.2);
    filter: brightness(1.05);
}

.entry-content img:not(.alignleft):not(.alignright) {
    width: 100%;
}

/* Kontener z efektem CRT */
.post-image-container {
    position: relative;
    z-index: 2;
    clear: both;
    width: auto;
    max-width: 360px!important;
    overflow: hidden;
    padding: 6px;
    background: linear-gradient(145deg, var(--color_accent1), var(--color_accent2));
    border-radius: 2px;
    box-sizing: border-box;
    box-shadow: 
        inset 0 0 0 1px rgba(255,255,255,0.15),
        inset 0 0 0 2px var(--color_accent2),
        inset 0 0 30px var(--color_accent2),
        0 0 0 1px var(--color_accent1),
        0 0 20px var(--color_accent1);
    margin: 1em auto;
}

.post-image-container::after {
    content: '';
    position: absolute;
    top: 0px;
    right: 0px;
    width: 6px;
    height: 6px;
    background: #00ff00;
    border-radius: 50%;
    box-shadow: 
        0 0 5px #00ff00,
        0 0 10px #00ff00;
    animation: blink 2s infinite;
}

.post-image-container::before {
    content: '';
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(255,255,255,0.2) 50%,
        transparent 100%
    );
    pointer-events: none;
    z-index: 2;
    animation: scanline 15s linear infinite;
}

.post-image-container img {
    width: 100%;
    height: auto;
    display: block;
    box-shadow: 0 0 2px var(--color_accent5);
}

/* Wyrównanie obrazków */
.post-image-container:has(img.alignleft),
.post-image-container.align-container-left {
    float: left;
    margin: 0.5em 1em 0.5em 0;
    max-width: 360px;
}

.post-image-container:has(img.alignright),
.post-image-container.align-container-right {
    float: right;
    margin: 0.5em 0 0.5em 1em;
    max-width: 360px;
}

.post-image-container:has(img.aligncenter),
.post-image-container.align-container-center {
    clear: both;
    margin: 1em auto;
    float: none;
    display: block;
}

/* Style dla Gutenberga i klasycznego edytora */
.post-image-container.gutenberg-image {
    margin: 0.5em;
}

.post-image-container.gutenberg-image.align-container-left {
    float: left;
    margin: 0.5em 1em 0.5em 0;
}

.post-image-container.gutenberg-image.align-container-right {
    float: right;
    margin: 0.5em 0 0.5em 1em;
}

.post-image-container.gutenberg-image.align-container-center {
    margin: 1em auto;
}

/* Podpisy obrazków */
.wp-caption {
    max-width: 360px;
}

.wp-caption.alignleft {
    float: left;
    margin: 0.5em 1em 0.5em 0;
}

.wp-caption.alignright {
    float: right;
    margin: 0.5em 0 0.5em 1em;
}

.wp-caption img {
    width: 100%;
    height: auto;
}

.wp-caption-text {
    margin: 0.5em 0;
    font-size: 0.9em;
    text-align: center;
}


/* Dodatkowe pomocnicze style */
.post-image-container.subsequent-aligned {
    clear: none !important;
    margin-top: 0 !important;
}

.entry-content p {
    clear: none;
    overflow: auto;
}

.entry-content p:has(img) {
    display: inline;
}

.entry-content p:has(img) + p {
    display: inline;
}

.entry-content p:has(> img:only-child) {
    display: inline-block;
    margin: 0;
}


/* Podstawowe style dla wp-caption */
.wp-caption {
    max-width: 360px;
    margin-bottom: 1em;
}

/* Style dla wyrównania wp-caption */
.wp-caption.alignleft {
    float: left;
    margin-right: 1em;
}

/* Kluczowa zmiana - wymuś odpowiedni przepływ tekstu */
.entry-content p {
    display: block;
    overflow: visible;
    margin: 1em 0;
}

/* Usuń clear dla kolejnych caption */
.wp-caption.alignleft + .wp-caption.alignleft {
    clear: none;
}

/* Wymuś odpowiednie zachowanie dla paragrafów po wp-caption */
.wp-caption + p {
    clear: none !important;
    overflow: visible !important;
}

/* Dodaj odstęp między captionami */
.wp-caption + .wp-caption {
    margin-top: 1em;
}


/* Wymuszamy przełamanie dla kolejnego wp-caption */
.wp-caption.alignleft + .wp-caption.alignleft {
    clear: both;
}

/* Resetujemy float dla kolejnego zdjęcia */
.wp-caption.alignleft + .wp-caption.alignleft {
    float: left;
    margin-top: 1em;
}

/* Upewniamy się, że tekst zaczyna się od nowego zdjęcia */
.wp-caption.alignleft + .wp-caption.alignleft + p {
    clear: none;
    margin-top: 0;
}


/* Style dla znacznika more */
/* Style dla znacznika more - rozszerzone */
.entry-content #more-328,
.entry-content [id^="more-"] {
    display: block;
    clear: both !important; /* wymuszamy clear */
    float: none !important; /* resetujemy float */
    width: 100%;
    height: 0;
    margin: 0;
    padding: 0;
    visibility: hidden;
}

/* Dla paragrafu zawierającego more - rozszerzone */
.entry-content p:has([id^="more-"]) {
    margin: 0;
    padding: 0;
    height: 0;
    clear: both !important;
    float: none !important;
}

/* Upewniamy się, że kolejne elementy po more respektują przełamanie */
.entry-content [id^="more-"] ~ .wp-caption.alignright {
    clear: both;
}

/* Dodatkowe zabezpieczenie dla elementów po more */
.entry-content p:has([id^="more-"]) ~ * {
    clear: both;
}


/* Symetryczne style dla wyrównania w lewo i prawo */

/* Dla kolejnych caption */
.wp-caption.alignright + .wp-caption.alignright {
    clear: both;
}

/* Resetujemy float dla kolejnego zdjęcia */
.wp-caption.alignright + .wp-caption.alignright {
    float: right;
    margin-top: 1em;
}

/* Dla tekstu po zdjęciach */
.wp-caption.alignright + .wp-caption.alignright + p {
    clear: none;
    margin-top: 0;
}

/* Wspólne style dla obu kierunków */
.wp-caption.alignleft + .wp-caption.alignleft,
.wp-caption.alignright + .wp-caption.alignright {
    clear: both;
    margin-top: 1em;
}

/* Upewniamy się, że tekst prawidłowo opływa oba kierunki */
.wp-caption + p {
    clear: none !important;
    overflow: visible !important;
}



@media (max-width: 768px) {
    /* Reset wyrównań */
    .wp-caption.alignleft,
    .wp-caption.alignright,
    .post-image-container:has(img.alignleft),
    .post-image-container:has(img.alignright) {
        float: none;
        display: block;
        margin: 1em auto;
        max-width: calc(100% - 12px);
    }

    /* Zachowaj animację CRT ale zwolnij ją na mobile */
    .post-image-container::before {
        animation: scanline 30s linear infinite;
    }

    /* Wymuś szerokość kontenera */
    .post-image-container {
        margin: 1em auto;
        float: none;
        clear: both;
    }

    /* Reset dla paragrafów */
    .entry-content p {
        display: block;
        clear: both;
        width: 100%;
    }
}






/* */
/* KATEGORIE I ARCHIWUM I TAGI (w sumie content-archive.php) /*/
/* */

/* Styl dla listy postów w kategorii/archiwum */
.archive #wrapper,
.category #wrapper {
    min-height: 100vh; /* Zapewnia rozciągnięcie tła na całą wysokość */
}
.categoryWrapper article,
.archive article,
.category article {
    margin-bottom: 2em;
    border-bottom: 1px solid var(--color_accent3);
	  background-image: linear-gradient(
    to bottom,
    var(--color_white) 50%,
    transparent 100%
  );
}

.archive article:last-child,
.category article:last-child {
    border-bottom: none;
}

/* Modyfikacja nagłówka dla widoku kategorii */
.archive .header,
.category .header {
    margin-top: 2em;
	background: unset;
}

.categoryWrapper .header
{
    margin-top: 2em;
	background: unset;
}

/* Zachowanie odstępów między postami */
.archive .articleContainer,
.category .articleContainer {
    padding-bottom: 2em;
}


/* paginacja w kategoriach */

.archive-pagination-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1em;
    margin: 2em 0;
}

.posts-count {
    font-size: var(--font_size_s);
    color: var(--color_accent1);
    background: var(--color_accent8);
    padding: 0.5em 1em;
    border-radius: 2px;
    border: 1px solid var(--color_accent2);
    box-shadow: 
        0 0 0 1px var(--color_accent2),
        0 2px 4px rgba(147, 147, 147, 0.1);
}


.archive-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin: 2rem 0;
    font-family: "bc-eric-machat-headline", sans-serif;
    font-weight: 500;
}

.archive-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 12px;
    font-size: var(--font_size_xl);
    color: var(--color_accent1);
    text-decoration: none;
    background: var(--color_accent8);
    border: 1px solid var(--color_accent2);
    border-radius: 2px;
    transition: all 0.3s ease;
    box-shadow: 
        0 0 0 1px var(--color_accent2),
        0 2px 4px rgba(147, 147, 147, 0.1);
}

.archive-pagination .page-numbers:hover {
    color: var(--color_white);
    border-color: var(--color_accent4);
    background: linear-gradient(
        to bottom,
        var(--color_accent3) 0%,
        var(--color_accent4) 100%
    );
    box-shadow: 
        0 0 0 1px var(--color_accent4),
        0 2px 8px rgba(252, 106, 56, 0.2);
}

.archive-pagination .current {
    color: var(--color_white);
    background: linear-gradient(
        to bottom,
        var(--color_accent6) 0%,
        var(--color_accent7) 100%
    );
    border-color: var(--color_accent2);
    box-shadow: 
        0 0 0 1px var(--color_accent7),
        0 2px 4px rgba(48, 213, 200, 0.2);
}

.archive-pagination .dots {
    border: none;
    background: none;
    box-shadow: none;
}

.archive-pagination .dots:hover {
    background: none;
    border: none;
    box-shadow: none;
    color: var(--color_accent1);
}





/* LIGHT BOX IMG OVERLAY */

@media (max-width: 1000px) {
  #lightbox-image {
    max-width: 80%;
    max-height: 80%;
  }
}

#lightbox-overlay {
  z-index: 100;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
}

#lightbox-image {
  max-width: 90%;
  max-height: 90%;
  cursor: pointer;
}

#lightbox-close {
  position: absolute;
  top: 10px;
  right: 10px;
  background: transparent;
  color: #fff;
  border: none;
  font-size: 4rem;
  cursor: pointer;
}

#lightbox-image {
  max-width: 90%;
  max-height: 90%;
  cursor: pointer;
}
  
  /* Sprawdzenie wysokości zdjęcia i dostosowanie do wysokości ekranu */
  @media (max-height: 100vh) {
#lightbox-image {
    max-height: calc(100vh - 20px); /* Odstęp od krawędzi ekranu */
  }
}



/* */
/* STOPKA STRONY (footer.php) */
/* */

/* Footer Styles */
#footer {
    position: relative;
    background: var(--color_accent7);
    color: var(--color_accent8);
    padding: 0;
    margin-top: 4em;
    overflow: hidden; /* dodane */
}



.footer-waves {
    position: absolute;
    top: -100px;
    left: 0;
    width: 100%;
    height: 100%; /* zmienione */
    pointer-events: none;
}

.footer-waves svg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.footer-content {
    position: relative; /* dodane */
    z-index: 2; /* dodane */
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 3em;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.footer-content {

}


/* Poprawka dla mniejszych ekranów */
@media (max-width: 1200px) {
    .footer-content {
        grid-template-columns: 1fr;
        padding: 3em 1.5em;
    }
}

/* Lepsze odstępy między elementami */
.footer-section {
    position: relative; /* dodane */
    z-index: 2; /* dodane */
    padding: 1.5em;
}

.footer-section h3 {
    color: var(--color_accent8);
    font-size: 1.5em;
    margin-bottom: 1em;
    position: relative;
}

.footer-section h3::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 50px;
    height: 2px;
    background: var(--color_accent3);
}

/* Poprawka dla list */
.hobby-list {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
}

.hobby-item {
    display: flex;
    align-items: center;
    gap: 0.5em;
}

.hobby-icon {
    font-size: 1.2em;
}

.hobby-list a
{
    color: var(--color_white);
    text-decoration: none;
    transition: color 0.3s ease;
}

.hobby-list a:hover
{
    color: var(--color_accent3);
}


.hobby-icon {
    font-size: 1.2em;
}

.contact-icon {
    display: inline-block;
    width: 1.5em;
}

.footer-section.contact a {
    color: var(--color_accent8);
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-section.contact a:hover {
    color: var(--color_accent3);
}

.footer-bottom {
    position: relative; /* dodane */
    z-index: 2; /* dodane */
    background: rgba(0, 0, 0, 0.1);
    padding: 1em;
    text-align: center;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1em;
}

.footer-bottom #copyright,
.footer-bottom .credits {
    font-size: 0.9em;
}

.footer-bottom a {
    color: var(--color_white);
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-bottom a:hover {
    color: var(--color_accent4);
}

@media (max-width: 768px) {
    .footer-content {
        grid-template-columns: 1fr;
    }

    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }
}



/* */
/* CYTATY BLOKOWE W POSTACH /*
/* */

.entry-content blockquote {
    clear: both;
    position: relative;
    z-index: 1;
    margin-top: 2em;
    margin-bottom: 2em;
}


blockquote {
    font-family: "bc-eric-machat", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: #000000;
    background-color: var(--color_accent8);
    border-left: 4px solid var(--color_accent4);
    padding: 2em 2.5em;
    margin: 2em 0;
    border-radius: 5px;
    position: relative;
    box-shadow: 
        inset 0 0 0 1px rgba(255,255,255,0.15),
        0 2px 8px rgba(0,0,0,0.1);
}

blockquote::before {
    content: '\201C';
    font-family: "bc-eric-machat-headline", sans-serif;
    font-size: 4em;
    color: var(--color_accent3);
    position: absolute;
    left: 10px;
    top: -10px;
    opacity: 0.5;
}

blockquote p {
    margin: 0;
    line-height: 1.6;
    font-size: 1.1em;
}

blockquote:hover {
    background-color: var(--color_accent8);
    border-left-color: var(--color_accent3);
    transition: all 0.3s ease;
}

@media (max-width: 768px) {
    blockquote {
        padding: 1.5em;
        margin: 1.5em 0;
    }
    
    blockquote::before {
        font-size: 3em;
    }
}


/* */
/* NAPRAWA DIV-IMG */
/* */

.entry-content {
    overflow: hidden;
    position: relative;
    width: 100%;
}

.entry-content img {
    max-width: 100%;
    height: auto;
    display: block;
    margin-bottom: 1em;
}

.entry-content > *:last-child {
    margin-bottom: 0;
}


/* */
/* STYLE STRONY GŁÓWNEJ */
/* */

/* Style dla siatki newsów */
.news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, 480px); /* Stała szerokość 480px */
    gap: 32px; /* Odstęp 64 piksele */
    justify-content: center; /* Wycentrowanie na środku */
    padding: 2em;
    max-width: 1200px;
    margin: 0 auto;
}

/* Karta newsa */
.news-card {
    background-color: var(--color_accent9);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: transform 0.2s ease;
    width: 480px; /* Stała szerokość */
}

.news-card:hover {
    transform: translateY(-2px);
}

/* Nagłówek karty */
.news-card-header {
    padding: 1em;
    display: flex;
    align-items: center;
    gap: 1em;
}

.news-card-header svg {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.news-card-header h2 {
    margin: 0;
    font-family: "bc-eric-machat-headline", sans-serif;
	color: var(--color_accent5);
	font-size: var(--font_size_xxxxl);
}

.news-card-header h2 a {
    text-decoration: none;
	color: var(--color_accent4);
}

/* Meta informacje */
.news-card-meta {
    padding: 0 1em;
    text-align: right;
    font-size: 0.9em;
    color: var(--color_black);
}

/* Kontener obrazka w newsie */
.news-thumbnail {
    position: relative;
    width: 360px; /* Stała szerokość obrazka */
    overflow: hidden;
    padding: 6px;
    background: linear-gradient(145deg, var(--color_accent1), var(--color_accent2));
    border-radius: 2px;
    box-sizing: border-box;
    box-shadow: 
        inset 0 0 0 1px rgba(255,255,255,0.15),
        inset 0 0 0 2px var(--color_accent2),
        inset 0 0 30px var(--color_accent2),
        0 0 0 1px var(--color_accent1),
        0 0 20px var(--color_accent1);
    margin: 1em auto; /* Wycentrowanie obrazka w karcie */
}

.news-thumbnail::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 6px;
    height: 6px;
    background: var(--color_accent3);
    border-radius: 50%;
    box-shadow: 
        0 0 5px var(--color_accent3),
        0 0 10px var(--color_accent3);
    animation: blink 2s infinite;
}

.news-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
    border: 1px solid var(--color_accent2);
    box-shadow: 0 0 2px var(--color_accent5);
    filter: brightness(1.05);
}

.news-thumbnail::before {
    content: '';
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(255,255,255,0.2) 50%,
        transparent 100%
    );
    pointer-events: none;
    z-index: 2;
    animation: scanline 15s linear infinite;
}

/* Taksonomia */
.news-card-taxonomy {
    padding: 1em;
    text-align: right;
    font-size: 0.9em;
}

.news-card-taxonomy a {
    color: var(--color_black);
    text-decoration: none;
    margin-left: 0.5em;
}

.news-card-taxonomy a:hover {
    color: var(--color_accent4);
}

@media (max-width: 768px) { 
.news-grid {
padding: 8px;
}
}


/* Media query dla małych ekranów */
@media (max-width: 768px) { /* 480px + 64px gap */
    .news-grid {
        grid-template-columns: 1fr; /* Jedna kolumna */
        gap: 32px; /* Mniejszy odstęp na mobile */
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
    }
    
    .news-card {
        width: 100%;
        max-width: 480px;
		flex-basis: 100%;
    }
    
    .news-thumbnail {
        width: 100%;
        max-width: 360px;
    }
}


/* */
/* WIDGETY NA GŁÓWNEJ */
/* */

/* Sekcje widgetów */
.widgets-section {
    display: grid;
    grid-template-columns: repeat(2, minmax(auto, 480px)); /* Zmiana na elastyczną szerokość */
    gap: 32px; /* Zmniejszony odstęp */
    justify-content: center;
    padding: 1em;
    max-width: 1920px;
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box; /* Ważne! */
}

.widget-area {
    background-color: var(--color_accent8);
    border-radius: 8px;
    padding: 1.5em;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    width: 100%; /* Pełna szerokość kontenera */
    box-sizing: border-box;
}

/* Responsywność */
@media (max-width: 1024px) {
    .widgets-section {
        grid-template-columns: minmax(auto, 480px); /* Jedna kolumna */
        gap: 32px;
    }
}

@media (max-width: 544px) {
    .widgets-section {
        padding: 0.5em;
        gap: 16px;
    }
    
    .widget-area {
        padding: 1em;
    }
}

.widget-title {
    font-family: "bc-eric-machat-headline", sans-serif;
    font-weight: 500;
    font-size: var(--font_size_xl);
    color: var(--color_accent4);
    margin-bottom: 1em;
}

.widget {
    margin-bottom: 1.5em;
}

.widget:last-child {
    margin-bottom: 0;
}


/* */
/* WIDGET LOSOWA FOTKA */
/* */

.random-image-caption {
    text-align: center;
    margin-top: 1em;
    font-family: "bc-eric-machat", sans-serif;
    font-style: italic;
    color: var(--color_accent1);
}

.widget_random_image_widget .news-thumbnail {
    max-width: 360px;
    margin: 1em auto;
}


/* KALENDARZ */

/* Kontener kalendarza */
.widget_calendar {
    background: var(--color_accent8);
    border-radius: 8px;
    padding: 1em;
    box-shadow: 
        inset 0 0 0 1px rgba(255,255,255,0.1),
        inset 0 0 0 2px rgba(0,0,0,0.05),
        0 2px 4px rgba(0,0,0,0.1);
}

/* Tytuł widgetu */
/* Usunięcie punktatorów */
.xoxo,
.widget-container {
    list-style-type: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.xoxo > li:before,
.widget-container:before {
    content: none !important;
}

/* Większy nagłówek */
.widget_calendar .widget-title {
    color: var(--color_accent7);
    font-size: 1.8em; /* zwiększony rozmiar */
    text-align: center;
    margin-bottom: 1em;
    padding-bottom: 0.5em;
    border-bottom: 2px solid var(--color_accent6);
}

/* Rozsunięcie dni tygodnia */
#wp-calendar th {
    background: var(--color_accent7);
    color: var(--color_white);
    padding: 0.5em;
    text-align: center;
    font-size: 0.9em;
    border-radius: 4px;
    margin: 0 1px; /* dodane */
}

/* Dodajemy spacing do całej tabeli */
#wp-calendar {
    width: 100%;
    border-collapse: separate; /* zmienione z collapse */
    border-spacing: 2px; /* dodane */
}

/* Nagłówek miesiąca */
#wp-calendar caption {
    color: var(--color_accent6);
    font-size: 1.1em;
    font-weight: bold;
    padding: 0.5em 0;
    text-transform: uppercase;
}

/* Nagłówki dni tygodnia */
#wp-calendar th {
    background: var(--color_accent7);
    color: var(--color_white);
    padding: 0.5em;
    text-align: center;
    font-size: 0.9em;
    border-radius: 4px;
}

/* Komórki dni */
#wp-calendar td {
    text-align: center;
    padding: 0.5em;
    border-radius: 4px;
    transition: all 0.3s ease;
	color: #999999;
}

/* Linki w kalendarzu */
#wp-calendar a {
    display: block;
    color: var(--color_accent4);
    text-decoration: none;
    font-weight: bold;
    transition: all 0.3s ease;
}

#wp-calendar a:hover {
    color: var(--color_accent3);
    transform: scale(1.1);
}

/* Dzisiejszy dzień */
#wp-calendar #today {
    background: var(--color_accent6);
    color: var(--color_white);
    font-weight: bold;
    border-radius: 4px;
}

#wp-calendar #today a {
    color: var(--color_white);
}

/* Puste komórki */
#wp-calendar .pad {
    background: transparent;
}

/* Nawigacja kalendarza */
.wp-calendar-nav {
    display: flex;
    justify-content: space-between;
    padding-top: 1em;
    margin-top: 0.5em;
    border-top: 1px solid var(--color_accent2);
}

.wp-calendar-nav a {
    color: var(--color_accent6);
    text-decoration: none;
    transition: color 0.3s ease;
}

.wp-calendar-nav a:hover {
    color: var(--color_accent4);
}

/* Responsywność */
@media (max-width: 768px) {
    .widget_calendar {
        padding: 0.5em;
    }
    
    #wp-calendar th,
    #wp-calendar td {
        padding: 0.3em;
        font-size: 0.9em;
    }
}

@media (max-width: 480px) {
    #wp-calendar th {
        font-size: 0.8em;
    }
    
    #wp-calendar td {
        font-size: 0.8em;
        padding: 0.2em;
    }
}



/* */
/* KATEGORIE STOPKA */
/* */

.footer-section.categories {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer-category-item {
    margin-bottom: 5px;
}

.footer-category-item a {
    color: #ffffff; /* dostosuj kolor */
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-category-item a:hover {
    color: #some-color; /* kolor przy hover */
}

.footer-category-item a.active {
    color: #some-color; /* kolor dla aktywnej kategorii */
}


/* */
/* POPRAWKA DLA LINII HR */
/* */

hr {
    border: none;
    height: 3px;
    background: linear-gradient(
        to right,
        transparent,
        var(--color_accent1),
        transparent
    );
    margin: 30px auto;
    width: 80%;
    max-width: 800px;
    opacity: 0.8;
}

/* Wariant z kropkami po bokach */
hr.dots {
    border: none;
    height: 2px;
    background: linear-gradient(
        to right,
        transparent 0%,
        var(--color_accent1) 50%,
        transparent 100%
    );
    margin: 30px auto;
    width: 60%;
    max-width: 600px;
    position: relative;
}

hr.dots::before,
hr.dots::after {
    content: '';
    position: absolute;
    top: -4px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--color_accent7);
}

hr.dots::before {
    left: 0;
}

hr.dots::after {
    right: 0;
}



/* */
/* MAPA TAGÓW */
/* */

/* Kontener dla wszystkich kart */
.tags-map-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 20px;
    padding: 20px;
}

/* Styl karty tagu */
.tag-card {
    background: linear-gradient(145deg, #ffffff, #f0f0f0);
    border-radius: 8px;
    padding: 20px;
    box-shadow: 
        inset 0 0 0 1px rgba(255,255,255,0.15),
        inset 0 0 0 2px var(--color_accent2),
        inset 0 0 30px var(--color_accent2),
        0 0 0 1px var(--color_accent2),
        0 0 20px var(--color_accent2);
    transition: transform 0.3s ease;
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-decoration: none;
border: 1px solid var(--color_accent1);  /* Dodane obramowanie */
}

.tag-card::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 6px;
    height: 6px;
    background: #00ff00;
    border-radius: 50%;
    box-shadow: 
        0 0 5px #00ff00,
        0 0 10px #00ff00;
    animation: blink 2s infinite;
}

.tag-card::before {
    content: '';
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(255,255,255,0.2) 50%,
        transparent 100%
    );
    pointer-events: none;
    z-index: 2;
    animation: scanline 15s linear infinite;
}

.tag-card:hover {
    transform: translateY(-3px);
}

.tag-card h3 {
    margin: 0;
    font-size: var(--font_size_xxxl);
    position: relative;
    z-index: 3;
text-decoration: none;
}

/* Styl dla linku */
.tag-card h3 a {
    color: var(--color_accent7);  /* Pomarańczowy kolor */
    text-decoration: none;
    position: relative;
    display: inline-block;  /* Ważne dla podkreślenia */
text-decoration: underline;
    text-decoration-color: var(--color_accent7);
}

/* Podkreślenie na hover */
.tag-card h3 a:hover::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 100%;
    height: 2px;
    background-color: var(--color_accent7);
}

.post-count {
    background: var(--color_accent7);
    color: var(--color_white);
    padding: 3px 8px;
    border-radius: 12px;
    font-size: 0.9em;
    position: relative;
    z-index: 3;
    text-decoration: none!important;
}

@media (max-width: 768px) {
    .tags-map-container {
        grid-template-columns: 1fr;
        padding: 10px;
    }
}



/* */
/*  WIDGET LOSOWY CYTAT */
/* */

.random-widgets-container {
    width: 100%;
    max-width: 100%;
    margin: 2em 0;
    padding: 0 20px;
    box-sizing: border-box;
}

.random-widget-wrapper {
    max-width: 1200px; /* lub inna preferowana szerokość maksymalna */
    margin: 0 auto;
}

.random-widget-title {
    text-align: center;
    margin-bottom: 1em;
}


.random-quote {
    background: linear-gradient(145deg, var(--color_white), var(--color_accent8));
    padding: 20px;
    border-radius: 8px;
    margin: 10px 0;
    box-shadow: 
        inset 0 0 0 1px rgba(255,255,255,0.15),
        inset 0 0 0 2px var(--color_accent2),
        inset 0 0 30px var(--color_accent2),
        0 0 0 1px var(--color_accent1),
        0 0 20px var(--color_accent1);
    position: relative;
}

.random-quote blockquote {
    margin: 0;
    padding: 0;
    color: var(--color_black);
    font-style: italic;
    line-height: 1.4;
    position: relative;
    padding-left: 20px;
}

.random-quote blockquote::before {
    content: '"';
    position: absolute;
    left: 0;
    top: -5px;
    font-size: 2em;
    color: var(--color_accent7);
}

.quote-source {
    margin-top: 15px;
    text-align: right;
    font-size: 0.9em;
}

.quote-source a {
    color: var(--color_accent7);
    text-decoration: none;
}

.quote-source a:hover {
    text-decoration: underline;
}


.responsive-video-wrapper {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    overflow: hidden;
    max-width: 100%;
}

.responsive-video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}
