/*
Theme Name: DNS Zaplecze Theme
Theme URI: https://example.com/
Author: DNS Group
Description: Minimalistyczny theme zoptymalizowany pod SEO i Core Web Vitals stworzony przez DNS Group.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dns
*/

:root {
    /* Kolory */
    --primary-color: #B36A5E;
    --secondary-color: #C89F9C;
    --accent-color: #C97C5D;
    --main-bg-color: #FFFFFF;
    --secondary-bg-color: #fde2db;
    --text-color: #212529;
    --secondary-text-color: #ffffff;
    --border-color: #EEE2DF;
    --lightgray-color: #757575;
    --image-bottom-shadow-color: rgb(14, 8, 7);

    /* Typografia */
    --main-font: "Open Sans", sans-serif;
    
    /* Inne przydatne zmienne */
    --border-radius: 8px;
    --transition-speed: 0.2s;
}

body {
    margin: 0;
    padding: 0;
    background: var(--main-bg-color);
    font-family: var(--main-font);
}
h1, h2, h3, h4, h5, h6, button {
    font-family: var(--main-font);
    color: var(--text-color);
    margin-bottom: 0;
}
p, a, div, li, input, textarea, label {
    font-family: var(--main-font);
    color: var(--text-color);
}
span {
    font-family: var(--main-font);
}

h1 {
    font-size: 40px;
    font-weight: 600;
}
h2 {
    font-size: 30px;
    font-weight: 500;
}
h3 {
    font-size: 20px;
    font-weight: 600;
}
p, a, input {
    font-size: 16px;
    margin-bottom: 0;
}

ul li::marker {
    color: var(--accent-color);
}
a {
    text-decoration: none;
    outline: none;
}
a:focus, a:active {
    text-decoration: none;
    outline: none;
}
/* strong {
    color: ;
} */
img {
    max-width: 100%;
    height: auto;
    outline: none;
    font-size: 12px;
    font-weight: 400;
}
input, textarea, select, button {
    outline: none;
}
input, textarea {
    width: 100%;
}

section {
    margin: 50px 0;
}

.section-header {
    font-size: 22px;
    font-weight: 700;
    text-transform: uppercase;
}
.h2-decor {
    display: block;
    height: 3px;
    width: 80px;
    border-radius: 1px;
    background-color: var(--accent-color);
    margin-top: 5px;
    margin-bottom: 20px;
}

#breadcrumbs {
    margin-bottom: 20px;
    line-height: 1.3;
}
#breadcrumbs * {
    font-size: 12px;
    color: var(--lightgray-color);
    text-transform: uppercase;
}



/* --- header.php --- */
.topmenu {
    position: sticky;
    top: 0;
    z-index: 9999;
    background-color: var(--main-bg-color);
    box-shadow: 0px 5px 30px -10px rgb(232 232 232);
    border-bottom: 2px solid var(--primary-color);
}
.header-logo-cont {
    width: fit-content;
    height: fit-content;
}
.header-logo-cont img {
    max-width: 150px;
}
.menu-glowne-container, 
.menu-glowne-container ul, 
.menu-glowne-container li {
    width: fit-content;
}
.menu-glowne-nav {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.navbar-collapse {
    justify-content: right;
}
.menu-glowne-container ul {
    padding: 0;
    margin-bottom: 0;
    list-style: none;
    display: flex;
    align-items: center;
}
.menu-glowne-container ul > li {
    padding: 10px;
}
.menu-glowne-container ul li > a {
    font-size: 15px;
    font-weight: 500;
    text-transform: uppercase;
}
.navbar-toggler {
    background-color: transparent !important;
    border: none !important;
    padding: 5px;
}
.navbar-toggler:focus {
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: none;
}
#menuToggle span {
    display: flex;
    width: 25px;
    height: 3px;
    margin-bottom: 5px;
    position: relative;
    background: #534f50;
    border-radius: 3px;
    z-index: 1;
    transform-origin: 5px 0px;
    transition: 
        transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
        background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
        opacity 0.55s ease;
}
#menuToggle span:last-of-type {
    margin-bottom: 0;
}
#menuToggle span:first-of-type {
    transform-origin: 0% 0%;
}
#menuToggle span:nth-of-type(2) {
    transform-origin: 0% 100%;
}
#menuToggle span.open {
    opacity: 1;
    width: 26px;
    transform: rotate(45deg) translate(0px, -2px);
    background: #534f50;
}
#menuToggle span:nth-of-type(2).open {
    opacity: 0;
    transform: rotate(0deg) scale(0.2, 0.2);
}
#menuToggle span:nth-of-type(3).open {
    transform: rotate(-45deg) translate(0, -4px);
}


/* --- Style główne --- */
.post-data, 
.post-category {
    font-size: 12px;
}

.cat-arch-link {
    display: block;
    width: fit-content;
    padding: 5px 10px;
    background-color: var(--accent-color);
    color: var(--secondary-text-color);
    font-weight: 500;
    margin-top: 20px;
}

.newest-cat-sep > span {
    display: block;
    height: 1px;
    background-color: var(--border-color);
}
main > .newest-cat-sep:last-of-type {
    display: none;
}

.small-post-list-single {
    display: block;
    margin-bottom: 15px;
}
.small-post-list-single:last-of-type {
    margin-bottom: 0;
}
.small-post-list-single .post-data {
    color: var(--lightgray-color);
}
.small-post-list-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.small-post-list-info h3 {
    width: fit-content;
    font-size: 16px;
}
.small-post-list-img {
    min-width: 80px;
    height: 60px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    border-radius: var(--border-radius);
    margin-left: 15px;
}


/* --- Customowa paginacja --- */
.navigation {
    display: flex;
    justify-content: center;
    margin-top: 120px;
    margin-bottom: 50px;
}
.navigation ul {
    padding: 0;
    display: flex;
    column-gap: 15px;
}
.navigation li a, 
.navigation li a:hover, 
.navigation li a:focus, 
.navigation li.active a, 
.navigation li.disabled {
    color: var(--secondary-text-color);
    text-decoration: none;
}
.navigation li {
    list-style: none;
    margin-bottom: 0;
}
.navigation li:last-of-type {
    margin-right: 0 !important;
}
.navigation li a, 
.navigation li a:hover, 
.navigation li.active a, 
.navigation li.disabled {
    background-color: var(--secondary-color);
    border-radius: var(--border-radius);
    min-width: 35px;
    min-height: 35px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease-in-out;
}
.navigation .poprzedni-li a,
.navigation .nastepny-li a {
    padding: 5px 15px;
}
.navigation li a:focus, 
.navigation li.active a:focus {
    background-color: var(--primary-color) !important;
}
.navigation li a:hover, 
.navigation li.active a, 
.navigation li.active a:focus {
    background-color: var(--primary-color);
}


/* --- page.php --- */
.page-content h2 {
    margin-top: 20px;
    margin-bottom: 15px;
}
.page-content h3 {
    margin-top: 18px;
    margin-bottom: 15px;
}
.page-content h4,
.page-content h5,
.page-content h6 {
    margin-top: 15px;
    margin-bottom: 12px;
}
.page-content p {
    margin-bottom: 12px;
}
.page-content ul,
.page-content ol {
    margin-bottom: 12px;
}
.page-content li {
    margin-bottom: 5px;
}
.page-content figure {
    margin-top: 20px;
    margin-bottom: 20px;
}

/* --- 404.php --- */
.sekcja-404 {
    margin: 50px auto 100px;
}
.error-404 {
    text-align: center;
    margin-top: 80px;
    margin-bottom: 80px;
}
.error-404 > span {
    display: block;
    margin-top: 50px;
    margin-bottom: 10px;
    font-style: italic;
    font-size: 18px;
    letter-spacing: 5px;
    color: var(--lightgray-color);
}
.sekcja-404 h1 {
    margin-bottom: 50px;
    font-size: 40px;
    font-weight: 700;
}
.sekcja-404 .page-content p {
    font-size: 16px;
}
.sekcja-404 .page-content a {
    display: block;
    width: fit-content;
    margin: 20px auto 0;
    padding: 10px 20px;
    border-radius: var(--border-radius);
    background-color: var(--primary-color);
    color: var(--secondary-text-color);
    font-weight: 600;
    font-size: 16px;
}


/* --- footer.php --- */
footer {
    background-color: var(--main-bg-color);
    text-align: center;
    font-size: 12px;
}
.footer-cont {
    padding: 40px 12px 0;
}
.footer-logo {
    padding-top: 22px;
    margin-bottom: 15px;
    border-top: 1px solid var(--border-color);
    color: var(--lightgray-color);
    text-align: center;
}
.footer-logo a {
    font-size: 12px;
    color: var(--lightgray-color);
}
.footer-logo img {
    max-width: 120px !important;
}
.footer-menu-kategorie ul {
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.footer-menu-kategorie li {
    display: inline-block;
    list-style: none;
    width: fit-content;
    padding: 0 10px;
}
.footer-menu-kategorie a {
    font-size: 12px;
    color: var(--lightgray-color);
}
.copyright-footer {
    background-color: var(--main-bg-color);
    padding: 20px 0;
    border-top: 1px solid var(--border-color);
    margin-top: 22px;
    color: var(--lightgray-color);
    font-size: 12px;
}

@media only screen and (min-width: 993px) and (max-width: 1299px){
    .menu-glowne-container ul > li {
        padding: 5px 10px;
    }
}
/*Tutaj zaczyna się CSS dla laptopów*/
@media only screen and (min-width: 993px) and (max-width: 1199px){
    p, a, input {
        font-size: 15px;
    }
}
@media only screen and (min-width: 993px) {
    .header-logo-cont img {
        max-width: 120px;
    }

    .menu-glowne-container ul {
        flex-wrap: wrap;
        justify-content: end;
    }
}


/*Tutaj zaczyna się CSS dla tabletów*/
@media only screen and (max-width: 992px) {
    h1 {
        font-size: 32px;
    }
    h2 {
        font-size: 26px;
    }
    h3 {
        font-size: 20px;
    }
    a:hover {
        color: var(--text-color);
    }

    .menu-glowne-container {
        margin-top: 10px;
    }
    .menu-glowne-container > ul {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    .menu-glowne-container ul > li {
        padding: 5px 0;
    }
    .menu-glowne-container ul li > a {
        font-weight: 400;
        text-transform: unset;
    }
}


/*Tutaj zaczyna się CSS dla komórek*/
@media only screen and (max-width: 767px) {
    h1 {
        font-size: 30px;
    }
    h2 {
        font-size: 22px;
    }
    h3 {
        font-size: 18px;
    }
    .header-logo-cont img {
        max-width: 100px;
    }
    main .container {
        padding: 0 20px;
    }

    .navigation ul {
        column-gap: 10px;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        row-gap: 10px;
    }

    .sekcja-404 h1 {
		font-size: 30px;
	}
	.sekcja-404 .page-content p {
		font-size: 16px;
	}

    .footer-menu-kategorie ul {
        flex-direction: column;
        margin-top: 20px;
        row-gap: 5px;
    }
}
@media only screen and (max-width: 399px) {
    p, a, input {
        font-size: 15px;
    }

    .error-404 > span {
        margin-top: 40px;
    }
    .sekcja-404 h1 {
        font-size: 25px;
    }
    .sekcja-404 .page-content p, 
    .sekcja-404 .page-content a {
        font-size: 15px;
        line-height: 1.4;
    }
}