/*
Theme Name: gazetaregionalna ACF Builder - excellent solution for developers
Author: gazetaregionalna.pl
Version: 1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gazetaregionalna ACF Builder
Description: © All rights reserved. Copying, processing, distributing this template in whole or in part without the author's permission is prohibited.
Author URI: https://gazetaregionalna.pl/
*/

/* ==========================================================================
   TABLE OF CONTENTS / SPIS TREŚCI
   ==========================================================================
   1. Root & Variables
   2. Fonts & Typography
   3. Base Elements & Reset
   4. Lists & Tables
   5. Grid & Layout System
   6. Buttons
   7. Forms & CF7
   8. Header & Navigation
   9. Page Head & Content Styles
   10. Posts, Single & Category
   11. Share Block & Socials
   12. Components (Carousel, Accordion, Slider, Gallery, Tabs)
   13. Footer
   14. Custom Layouts & Modules (Column Based, Category Box, Sidebar)
   15. Responsive / Media Queries
   ========================================================================== */


/* ==========================================================================
   1. ROOT & VARIABLES
   ========================================================================== */

:root {
    --color-main: #1e1e1e;
    --color-1: #008ad2;
    --color-2: #10a2ee;
    --color-3: #fb2880;
    --border-radius: .5rem;
}

.color_1 { color: var(--color-1); }
.color_2 { color: var(--color-2); }
.color_3 { color: var(--color-3); }

.bgr_1 { background: var(--color-1); }
.bgr_2 { background: var(--color-2); }
.bgr_3 { background: var(--color-3); }


/* ==========================================================================
   2. FONTS & TYPOGRAPHY
   ========================================================================== */

@font-face {
  font-family: 'OpenSans';
  font-style: normal;
  font-weight: 400; /* Regular */
  src: local('Open Sans Regular'), local('OpenSans-Regular'),
       url('fonts/OpenSans-Regular.woff') format('woff');
  font-display: swap;
}

@font-face {
  font-family: 'OpenSans';
  font-style: normal;
  font-weight: 600; /* SemiBold */
  src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
       url('fonts/OpenSans-SemiBold.woff') format('woff');
  font-display: swap;
}

@font-face {
  font-family: 'OpenSans';
  font-style: normal;
  font-weight: 700; /* Bold */
  src: local('Open Sans Bold'), local('OpenSans-Bold'),
       url('fonts/OpenSans-Bold.woff') format('woff');
  font-display: swap;
}

h1, .h1 {
	font-family: 'OpenSans',arial,sans-serif;
	font-size: 2rem;
	line-height: 1.3;
	font-weight: 800;
	margin-bottom: 1rem;
}

h2, .h2 {
	font-family: 'OpenSans',arial,sans-serif;
	font-size: 2.4rem;
	line-height: 1.3;
	font-weight: 800;
	margin-bottom: 1.8rem;
}

h3, .h3 {
	font-family: 'OpenSans',arial,sans-serif;
	font-size: 2rem;
	line-height: 1.3;
	font-weight: 800;
}

h4, h5, .h4, .h5 {
	font-family: 'OpenSans',arial,sans-serif;
	font-size: 1.2rem;
	line-height: 1.3;
	font-weight: 800;
}

.title_center {
	display: inline-block;
	margin: 0 auto 2rem;
}

b, strong {
	font-family: 'OpenSans',arial,sans-serif;
	font-weight: 800;
}

small, .small { font-size: 80%; }
.text_md { font-size: 115%; }
.text_lg { font-size: 130%; }
.uppercase { text-transform: uppercase; }
.text_center { text-align: center; }
.break_word { word-wrap: break-word; }
.nowrap { white-space: nowrap; }


/* ==========================================================================
   3. BASE ELEMENTS & RESET
   ========================================================================== */

html {
  font-size: 16px;
}

body {
	font-family: 'OpenSans', arial, sans-serif;
	line-height: 1.5;
	font-weight: 400;
	color: var(--color-main);
	padding-top: 7.5rem;
}

main, footer {
	/* overflow: hidden; */
}

p {
	margin-bottom: 1rem;
}

a {
    color: var(--color-main);
	text-decoration: none;
	transition: 0.4s ease;
}

a:hover {
    color: var(--color-1);
	text-decoration: underline;
	transition: 0.4s ease;
}

img {
	max-width: 100%;
	height: auto;
}

img.aligncenter {
	margin-left: auto;
	margin-right: auto;
	display: block;
}

img.alignright {
	float: right;
}

.round img {
	border-radius: 3rem;
}

hr {
	border: 1px solid #DDDDDD;
}

.clearfix:after {
    display: block;
    content: "";
    clear: both;
}


/* ==========================================================================
   4. LISTS & TABLES
   ========================================================================== */

/* Custom Lists */
[class^="list_cs"], [class*=" list_cs"] ul, [class^="list_cs"], [class*=" list_cs"] {
	list-style: none;
	padding: 0;
	margin-bottom: 0;
}

[class^="list_cs"] li, [class*=" list_cs"] li {
	padding: 0 0 0.7rem 1.5rem;
	position: relative;
}

[class^="list_cs"] li:before, [class*=" list_cs"] li:before {
	font-family: 'gazetaregionalna';
	content: "\e021";
	position: absolute;
	margin-right: 0;
	left: 0rem;
	color: var(--color-1);
}

[class^="list_cs"] li a, [class*=" list_cs"] li a {
	color: var(--color-main);
}

[class^="list_cs"] li a:hover, [class*=" list_cs"] li a:hover {
	color: var(--color-1);
	text-decoration: none;
}

ol {
	padding-left: 1.3rem;
	margin-bottom: 0;
}

ol li {
	padding: 0 0 1.2rem 0.5rem;
}

.text ul {
	padding: 0 0 0 1rem;
}

/* Tables */
table {
	border-collapse: collapse;
	width: 100%;
}

table td, table th {
	padding: .75rem;
	vertical-align: top;
	border-top: 1px solid #dee2e6;
}

table thead th {
	vertical-align: bottom;
	border-bottom: 2px solid #dee2e6;
}


/* ==========================================================================
   5. GRID & LAYOUT SYSTEM
   ========================================================================== */

.container, .full_width .col_container .wrapper {
	max-width: calc(1260px + 3rem);
	width: 95%;
	margin: 0 auto;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

section {
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: scroll;
}

.full_width .container {
	max-width: 100%;
	width: 100%;
}

.non_stretched {
	max-width: 1450px;
	margin: 0 auto;
	width: calc(95% - 3rem);
}

.non_stretched .container {
	padding-left: 0;
	padding-right: 0;
}

/* Flex Grid Columns */
.col_row {
	display: flex;
	flex-wrap: wrap;
	padding-top: 0;
	padding-bottom: 0;
	width: calc(100% + 4rem);
	margin-left: -2rem;
	margin-right: -2rem;
}

.col_row > div {
	flex-basis: 0;
	flex-grow: 1;
	max-width: 100%;
	padding-left: 2rem;
	padding-right: 2rem;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: scroll;
}

.col_px_lg .col_row {
	width: calc(100% + 6rem);
	margin-left: -3rem;
	margin-right: -3rem;
}

.col_px_lg .col_row > div {
	padding-left: 3rem;
	padding-right: 3rem;
}

.col_px_sm .col_row {
	width: calc(100% + 1.4rem);
	margin-left: -0.7rem;
	margin-right: -0.7rem;
}

.col_px_sm .col_row > div {
	padding-left: 0.7rem;
	padding-right: 0.7rem;
}

.col_row > *:after {
    display: block;
    content: "";
    clear: both;
}

/* Column Widths */
.col_row .col_w100 { flex: 0 0 100%; width: 100%; }
.col_row .col_w90  { flex: 0 0 90%;  width: 90%; }
.col_row .col_w80  { flex: 0 0 80%;  width: 80%; }
.col_row .col_w70  { flex: 0 0 70%;  width: 70%; }
.col_row .col_w60  { flex: 0 0 60%;  width: 60%; }
.col_row .col_w50  { flex: 0 0 50%;  width: 50%; }
.col_row .col_w40  { flex: 0 0 40%;  width: 40%; }
.col_row .col_w30  { flex: 0 0 30%;  width: 30%; }
.col_row .col_w20  { flex: 0 0 20%;  width: 20%; }
.col_row .col_w10  { flex: 0 0 10%;  width: 10%; }

.align_center .col_row, .col_row.align_center { align-items: center; }
.align_self_center .col_row { align-self: center; }

/* Spacing Helpers */
.py_0 { padding-top: 0; padding-bottom: 0; }
.py_sm { padding-top: 1rem; padding-bottom: 1rem; }
.py_md { padding-top: 5rem; padding-bottom: 5rem; }
.py_lg { padding-top: 7rem; padding-bottom: 7rem; }

.p_0 { padding: 0; }
.pt_0 { padding-top: 0; }
.pb_0 { padding-bottom: 0; }

.pt_sm { padding-top: 1rem; }
.pt_md { padding-top: 5rem; }
.pt_lg { padding-top: 7rem; }

.pb_sm { padding-bottom: 1rem; }
.pb_md { padding-bottom: 5rem; }
.pb_lg { padding-bottom: 7rem; }

.dark, .dark h1, .dark h2, .dark h3, .dark h4 {
	color: white;
}


/* ==========================================================================
   6. BUTTONS
   ========================================================================== */

[class^="btn_"], [class*=" btn_"], .tnp-field .tnp-submit {
	font-family: 'OpenSans',arial,sans-serif;
	font-weight: 700;
	padding: 0.8rem 1.8rem;
	border: 1px solid;
	border-radius: 1rem;
	line-height: 1.3;
	text-align: center;
	cursor: pointer;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	transition: 0.4s ease;
	font-size: 1rem;
	gap: 0.6rem;
}

[class^="btn_"]:hover, [class*=" btn_"]:hover {
	text-decoration: none;
	transition: 0.4s ease;
}

[class^="btn_"]:before, [class*=" btn_"]:before {
	margin-right: 1rem;
	transition: 0.4s ease;
}

[class^="btn_"]:hover:before, [class*=" btn_"]:hover:before {
	transition: 0.4s ease;
}

[class^="btn_"] i, [class*=" btn_"] i {
	transition: 0.4s ease;
	font-size: 1rem;
}

.btn_lg {
	font-size: 1.5rem;
	padding: 1.2rem 2.4rem;
}

.btn_md {
	font-size: 1.3rem;
	padding: 1rem 2.4rem;
}

.btn_sm {
	padding: 0.4rem 1rem;
	font-size: 0.7rem;
}

.btn_1 {
	color: white;
	background: var(--color-2);
	border-color: var(--color-2);
}

.btn_1:hover, .btn_1:focus {
	color: var(--color-2);
	background: transparent;
}

.dark .btn_1:hover, .dark .btn_1:focus {
	color: white;
	border-color: white;
}

.btn_2 {
	color: var(--color-2);
	background: transparent;
	border-color: var(--color-2);
}

.btn_2:hover, .btn_2:focus {
	color: white;
	background: var(--color-2);
}

.dark .btn_2 {
	color: white;
	background: transparent;
	border-color: white;
}

.dark .btn_2:hover, .dark .btn_2:focus {
	color: var(--color-2);
	background: white;
}

.btn_3, .tnp-field .tnp-submit {
    position: relative;
    color: #fff;
    border: none;
    cursor: pointer;
    overflow: hidden;
    background: linear-gradient(90deg, #00aeff, #ff007f, #00aeff);
    background-size: 200% 100%;
    background-position: 0% 50%;
    transition: background-position .45s ease;
}

.btn_3:hover, .btn_3:focus, .tnp-field .tnp-submit:hover {
    background-position: 100% 50%;
    color: #fff;
}

.btn_4 {
	color: white;
	background: #25b0f9;
	border-color: #25b0f9;
}

.btn_4:hover, .btn_4:focus {
	color: var(--color-2);
	background: white;
}

.dark .btn_1 {
	color: white;
}

.box_btn {
	padding-top: 1.5rem;
}

.box_btn a {
	margin-right: 1rem;
}

.box_btn a:last-child {
	margin-right: 0;
}

button:focus,
input[type=button]:focus {
	outline: none;
}

.btn_1 .icon_arrow:before {
	transform: rotate(135deg);
	display: block;
	transition: 0.4s ease;
}

.btn_1:hover .icon_arrow:before {
	color: var(--color-1);
}


/* ==========================================================================
   7. FORMS & CONTACT FORM 7
   ========================================================================== */

label {
	display: block;
	margin-bottom: 0;
	padding: 0 0 0.5rem;
}

.form_control, .tnp-field-email input {
	padding: 0.7rem 1rem;
	border: 1px solid #ccc;
	background: #fff;
	width: 100%;
	transition: 0.4s ease;
	border-radius: var(--border-radius);
}

.dark .form_control {
	color: white;
	background: transparent;
}

textarea.form_control {
	height: auto;
}

select {
	vertical-align: middle;
	background-color: #fff;
	outline: none;
    background: url("data:image/svg+xml,<svg height='10px' width='10px' viewBox='0 0 16 16' fill='%2300accb' xmlns='http://www.w3.org/2000/svg'><path d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/></svg>") no-repeat!important;
    background-position: calc(100% - 1.5rem) center !important;
    -moz-appearance: none !important;
    -webkit-appearance: none !important; 
    appearance: none !important;
    padding-right: 2rem !important;
}

select option {
	color: var(--color-1);
    font-family: 'OpenSans-Regular',arial,sans-serif;
}

select option:first-child {
	color: var(--color-main);
}

input:hover,
input:focus,
textarea.form_control:hover,
textarea.form_control:focus {
	outline: none;
	transition: 0.4s ease;
	border-color: var(--color-1);
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=number] {
  -moz-appearance: textfield;
}

input[type="checkbox"]:disabled+span {
  cursor: default;
  opacity: 0.5;
}

::-webkit-input-placeholder { color: #ccc!important; }
::-moz-placeholder { color: #ccc!important; opacity: 1; }
:-moz-placeholder { color: #ccc!important; opacity: 1; }
:-ms-input-placeholder { color: #ccc!important; }

/* Contact Form 7 Specifics */
.wpcf7-acceptance input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    min-width: 1rem;
    height: 1rem;
    border: 1px solid white;
    border-radius: 0.3rem;
    position: relative;
    cursor: pointer;
    vertical-align: middle;
    background: transparent;
}

.wpcf7-acceptance input[type="checkbox"]:checked::after {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    background-color: var(--color-1);
    border-radius: 0.7rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.wpcf7-acceptance label {
    display: flex;
    gap: 1rem;
    cursor: pointer;
    color: #fff;
}

.wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.wpcf7-not-valid-tip { font-size: 0.7rem; padding-top: 0.5rem; }
.box_send { position: relative; }

.wpcf7-spinner {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
}

.wpcf7-form-control-wrap {
	margin-bottom: 1.3rem;
	display: block;
}

.grecaptcha-badge {
    visibility: hidden !important;
}


/* ==========================================================================
   8. HEADER & NAVIGATION
   ========================================================================== */

header {
	background: white;
	position: fixed;
	top: 0;
	z-index: 11;
	transition: 0.4s ease;
	width: 100%;
	border-bottom: 5px solid white;
}

header .main {
	padding: 1rem 0 0.6rem;
}

header a:hover {
    text-decoration: none;
}

header .container {
	display: flex;
	align-items: center;
	gap: 2rem;
}

header .right {
	display: flex;
	align-items: center;
	margin-left: auto;
}

header .logo img {
  transform-origin: 50% 50%;
  transform: rotate(0deg); 
  display: block;
  max-width: 13rem;
  transition: 0.4s ease;
}


/* Header Search Form */
header .search {
    flex-grow: 1;
}

header .google_search_form {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    background: #ffffff;
    border: 1px solid #cccccc;
    border-radius: 50px;
    padding: 6px 16px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

header .google_search_form:focus-within {
    border-color: var(--color-1);
}

header .google_search_input {
    width: 100%;
    border: none;
    outline: none;
    background: transparent;
    font-size: 15px;
    color: #333333;
    padding-right: 10px;
}

header .google_search_input::placeholder {
    color: #8c8c8c;
}

header .google_search_append {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

header .google_logo {
    display: block;
    height: auto;
}

header .google_search_submit {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #808080;
    transition: color 0.2s ease;
}

header .google_search_submit:hover {
    color: var(--color-1);
}

/* Main Navigation */
header .nav {
	background: var(--color-1);
}

header .nav.active {
	opacity: 1;
	visibility: visible;
	max-height: 100%;
	overflow: visible;
	display: block !important;
}

.top_menu {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	width: 100%;
	justify-content: start;
	align-items: center;
}

.top_menu li {
	position: relative;
	padding: 0 0.7rem;
	transition: 0.4s ease;
}

.top_menu li a, .top_menu li span {
	font-family: 'OpenSans',arial,sans-serif;
	font-weight: 800;
	font-size: 0.9rem;
	line-height: 1;
	transition: 0.5s ease;
	display: block;
	color: white;
}

.top_menu > li > a {
	white-space: nowrap;
}

.top_menu > li.menu-item > a {
	padding: 0.5rem 0;
}

.top_menu .menu-item-has-children > a:after {
	font-family: 'gr';
	content: "\e031";
	display: inline-block;
	vertical-align: middle;
	font-size: 0.3rem;
	margin-left: 0.5rem;
	color: white;
}

.top_menu .menu-item-has-children > a:hover:after {
	animation: rubberScaleBig 0.45s ease-out;
}

.top_menu li a:hover {
	text-decoration: none;
	transition: 0.4s ease;
}

.top_menu li:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	transition: 0.5s ease;
}

.top_menu .sub-menu {
	display: none;
	position: absolute;
	list-style: none;
	background: var(--color-1);
	padding: 0;
	top: 100%;
	border-radius: 0 0 var(--border-radius) var(--border-radius);
	box-shadow: 2rem 2rem 2rem rgba(0, 0, 0, 0.13);
	min-width: 12rem;
	border-top: 2px solid white;
	overflow: hidden;
}

.top_menu li:hover .sub-menu {
	display: block;
}

.top_menu .sub-menu li {
	margin: 0;
	padding: 0;
}

.top_menu .sub-menu a {
	font-family: 'OpenSans',arial,sans-serif;
	font-weight: 300;
	background: transparent;
	position: relative;
	padding: 0.7rem 1rem;
	font-size: 0.8rem;
	border-bottom-width: 0;
	color: white;
	line-height: 1.3;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.top_menu .sub-menu a:hover {
	background: var(--color-2);
}

.top_menu .sub-menu .current-menu-item a {
	font-weight: 700;
}

.top_menu .anchor a {
	color: white;
}

.top_menu li.icon {
	padding: 0;
	border: none;
}

/* Mobile Menu Button / Hamburger */
.menu_btn {
    cursor: pointer;
    padding: 1rem 0;
    position: relative;
    background: transparent;
    margin-left: 0;
    border: none;
}

.menu_btn span {
	background: var(--color-2);
	display: block;
	height: 1px;
	position: relative;
	transition: background .2s ease-out;
	width: 1.7rem;
}

.menu_btn span:before, .menu_btn span:after {
	background: var(--color-2);
	content: '';
	display: block;
	height: 100%;
	position: absolute;
	transition: all .2s ease-out;
	width: 100%;
}

.menu_btn span:after { top: -0.5rem; }
.menu_btn span:before { top: 0.5rem; }

.menu_btn.active > span {
  background: transparent !important;
}

.menu_btn.active span:before { transform: rotate(-45deg); }
.menu_btn.active span:after { transform: rotate(45deg); }

.menu_btn.active > span:after, .menu_btn.active > span:before {
	top: 0;
}

/* Header Scroll State */
.h_scroll {
	transition: 0.4s ease;
	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.14);
}

/* Custom Header Extras */
header .btn_cs {
	padding: 0.6rem 4rem;
	font-size: 0.9rem;
}

header .btn_cs i {
	font-size: 0.5rem;
}

header .nav .btn {
	padding: 0.3rem 2rem;
	font-size: 0.9rem;
	margin: 0.4rem 0;
}


/* ==========================================================================
   9. PAGE HEAD & CONTENT STYLES
   ========================================================================== */

.page_head {
	padding: 5rem 0 5rem;
	color: white;
	background-position: center center !important;
	position: relative;
}

.page_head .container {
	position: relative;
	z-index: 1;
}


.page_head:after {
	content: '';
	display: block;
	background: rgba(7, 100, 157, 0.71);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.page_head h1 {
	font-size: 3rem;
}

.page_head .text {
	padding: 0 15%;
	font-size: 130%;
}

.page_content {
	padding-top: 3rem;
}

.page_content h2 {
	margin-top: 3.2rem;
	font-size: 1.5rem;
	letter-spacing: 0;
	text-transform: none;
	margin-bottom: 2rem;
}

.page_content h2:first-child {
	margin-top: 0;
}

.page_content p + figure, .page_content figure + p {
	padding-top: 1.5rem;
}

.page_content figure img {
	border-radius: var(--border-radius);
}

.page_text p {
	margin-bottom: 2.5rem;
}

.text p + h2, .text p + h3 {
	padding-top: 1.5rem;
}

.text h2, .text h3 {
	margin-bottom: 1.8rem;
}

.icon_text {
	display: flex;
}

.icon_text .text {
	padding-left: 0.5rem;
}

.icon_text i {
	padding-top: 0.1%;
}

.iconbox_left {
	margin-bottom: 1rem;
}

.iconbox_left .col {
	display: flex;
}

.iconbox_left .icon {
	padding-right: 1rem;
	width: 2.5rem;
	font-size: 1.2rem;
}

.iconbox_left p:last-child {
	margin: 0;
}

.cn-more-info {
	background-color: rgb(106, 106, 106) !important;
}


/* ==========================================================================
   10. POSTS, SINGLE & CATEGORY
   ========================================================================== */

.single-post .page_head {
	background: transparent url("images/head_1.jpg") center top no-repeat scroll;
	text-align: center;
}

.single-post .page_head h1 {
	font-size: 2.5rem;
}

.category_header h1 {
	margin-bottom: 1.2rem;
}

.post_body {
	padding-top: 1.5rem;
}

/* Breadcrumbs */
.breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	line-height: 1;
	padding: 2rem 0;
	font-size: 0.8rem;
	font-weight: 800;
}

.breadcrumb span {
	color: var(--color-1);
	padding: 0 0.4rem;
}

.breadcrumb span i {
	display: block;
	font-size: 0.4rem;
	color: var(--color-1);
	margin: 0 0.5rem;
}

/* Single Post Elements */
.post_title {
	margin-bottom: 2rem;
}

.after_title {
	padding-bottom: 2rem;
	display: flex;
	align-items: center;
}

.after_title .meta {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: inherit;
}

.after_title .meta .avatar img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.after_title .meta .content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.after_title .meta .author_name {
    font-size: 14px;
    font-weight: 500;
    color: #222222;
    line-height: 1.2;
}

.after_title .meta .post_date {
    font-size: 13px;
    color: #555555;
    line-height: 1.3;
    margin-top: 2px;
}

.after_title .share {
	margin-left: auto;
	font-size: 1.2rem;
}

.after_title .share i {
	color: var(--color-1);
}

.post .container {
	z-index: 2;
	position: relative;
}

.post .head .meta .reading_time {
	display: flex;
	gap: 0.5rem;
}

.post .content_wrapper .thumbnail {
	text-align: center;
	padding: 0 0 3rem;
}

.post .content_wrapper .thumbnail img {
	border-radius: var(--border-radius);
	z-index: 1;
	position: relative;
}

.post .content_wrapper .thumbnail .content {
	padding: 0 12%;
}

.related_title {
	font-size: 1.3rem;
	padding-bottom: 1rem;
}

/* Pagination */
.pagination {
	list-style: none;
	padding: 2rem 0 1rem;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1rem;
	flex-wrap: wrap;
}

.pagination span, .pagination a {
	padding: 0.4rem 0.5rem;
	border-radius: 1.5rem;
	min-width: 2.5rem;
	display: inline-block;
	text-align: center;
	line-height: 1.2;
	background: #005c8c;
	color: white;
	font-size: 0.7rem;
	font-weight: 700;
}

.pagination a:hover, .pagination a:hover i {
	text-decoration: none;
	background: var(--color-1);
}

.pagination .current {
	background: var(--color-2);
	color: white;
	font-family: 'OpenSans',arial,sans-serif;
	padding-left: 1.3rem;
	padding-right: 1.3rem;
}

.pagination i {
	color: #D0D0D0;
	font-size: 1.3rem;
}

.content_ad_box {
	padding: 1rem 0 2rem;
}

/* category  */
.category_description {
	text-align: center;
	font-size: 0.8rem;
	padding-top: 0.5rem;
	border-top: 1px solid #97D9FC;
	margin-top: 2rem;
}



/* ==========================================================================
   11. SHARE BLOCK & SOCIALS
   ========================================================================== */

.post_share_block {
	background: #f6f6f6;
	padding: 3rem;
	margin-top: 3rem;
}

.post_share_block .wrapper {
	border-radius: var(--border-radius);
	background: #fff;
	text-align: center;
	padding: 2rem;
}

.share_block_title {
	font-size: 1.7rem;
	font-weight: 600;
	margin-bottom: 0.5rem;
}

.share_buttons {
	display: flex;
	gap: 0.75rem;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
	padding-bottom: 1rem;
	padding-top: 0.5em;
}

.share_btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	color: white;
	text-decoration: none;
	transition: transform 0.2s ease, opacity 0.2s ease;
	font-size: 1rem;
}

.share_btn:hover {
	transform: scale(1.1);
	opacity: 0.9;
	text-decoration: none;
	color: white;
}

.share_btn.fb { background-color: #1877f2; }
.share_btn.tw { background-color: #000000; }
.share_btn.wa { background-color: #25d366; }
.share_btn.email { background-color: #444444; }

.share_copy_link {
	background: rgba(243, 244, 246, 1);
	padding: 0.8rem 10%;
	border-radius: var(--border-radius);
	display: flex;
	gap: 0.5rem;
}

.share_copy_link .form_control {
	font-size: 0.7rem;
}

.social_links {
	padding: 0;
	list-style: none;
	display: flex;
	gap: 0.7rem;
}

.social_links a:hover {
	text-decoration: none;
}


/* ==========================================================================
   12. COMPONENTS (Carousel, Accordion, Slider, Gallery, Tabs)
   ========================================================================== */

/* Owl Carousel */
.owl-carousel .owl-dots {
	position: absolute;
	right: 0;
	top: 0;
	display: flex;
	flex-direction: column;
	padding-top: 0;
	padding-right: 1.2rem;
}

.owl-carousel .owl-dots button {
	outline: 0 !important;
	border: 8px solid transparent !important;
	height: 1.7rem;
	width: 1.7rem;
	border-radius: 50%;
	display: block;
	justify-content: center;
	align-items: center;
	margin: 0.2rem;
	line-height: 1;
	position: relative;
}

.owl-carousel .owl-dots button span {
	background: rgba(255, 255, 255, 0.60);
	height: 100%;
	width: 100%;
	display: block;
	border-radius: 50%;
	transition: 0.4s ease;
	line-height: 0;
	position: absolute;
	top: 0;
}

.owl-carousel .owl-dots .active span { background: #fff; }

.owl-carousel .owl-dots button span:hover {
	background: rgba(255, 255, 255, 0.90);
	transition: 0.4s ease;
}

.owl-carousel .owl-dots button.active { border-color: white!important; }

.owl-carousel .owl-dots button.active span {
	opacity: 1;
	background: transparent;
	transition: 0.4s ease;
}

.owl-carousel .owl-nav button span {
	background: var(--color-1);
	display: flex;
	height: 3rem;
	width: 3rem;
	border-radius: 50%;
	justify-content: center;
	align-items: center;
	transition: 0.4s ease;
	box-shadow: 0.5rem 0.5rem 1rem rgba(0, 0, 0, 0.18);
}

.owl-carousel .owl-nav button span:hover {
	background: white;
	transition: 0.4s ease;
}

.owl-carousel .owl-nav button span:after {
	font-family: 'gazetaregionalna';
	color: white;
}

.owl-carousel .owl-nav button span:hover:after {
	color: var(--color-1);
}

.owl-carousel .owl-prev span:after {
	content: "<";
	transform: rotate(-180deg);
}

.owl-carousel .owl-next span:after {
	content: ">";
}

/* Accordion Box */
.accordion_box .item {
	margin-bottom: 1.5rem;
	background: white;
	border-radius: 2.5rem 0 2.5rem 0;
	margin: 0;
}

.accordion_box .content {
	display: none;
	padding: 2rem 0 0;
	background: #fff;
}

.accordion_box .title {
	background: #fff;
	transition: all .2s linear 0;
	user-select: none;
	cursor: pointer;
	display: flex;
	align-items: center;
}

.accordion_box .title h2 {
	margin-bottom: 0;
	margin-right: auto;
	padding-right: 15%;
	text-transform: none;
	font-size: 1.2rem;
}

.accordion_box .title::after {
    font-family: 'gazetaregionalna';
    content: "\e905";
    border: 0;
    border-radius: 50%;
    min-height: 2.3rem;
    min-width: 2.3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.4rem;
    transform: rotate(-180deg);
    transition: color .2s ease;
}

.accordion_box .title:hover::after {
    animation: rubberScale 0.45s ease-out;
}

.accordion_box .active_item:after {
	content: "\e906";
}

/* Main Slider */
.slider {
	background: black;
	position: relative;
}

.slider .container {
	display: flex;
	flex-direction: column;
	justify-content: space-around !important;
	z-index: 1;
}

.slider .item {
	position: relative;
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: scroll;
	background-size: cover;
	height: 45rem;
	padding: 10rem 4rem 5.5rem 4rem;
	display: flex;
	color: #fff;
}

.slider .subtitle, .slider h2 {
	color: white;
}

.slider .owl-dots {
	position: absolute;
	right: 5%;
	bottom: 0;
	padding: 0 1rem;
	top: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.slider .owl-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
}

.slider .owl-nav button {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	outline: 0 !important;
}

.slider .owl-nav .owl-prev { left: 1.5rem; }
.slider .owl-nav .owl-next { right: 1.5rem; }

/* Gallery */
.gallery_simple, .gallery_body {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-column-gap: 1rem;
	grid-row-gap: 1rem;
}

.gallery:after {
    display: block;
    content: "";
    clear: both;
}

.gallery-icon img {
	border: none!important;
}

/* Tabs & Nav */
.tabs_nav, .gallery_nav {
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: center;
	margin-bottom: 4rem;
}

.tabs_nav li, .gallery_nav li {
	font-family: 'OpenSans-SemiBold',arial,sans-serif;
	font-size: 1.4rem;
	margin: 0 0.6rem;
	color: var(--color-1);
	line-height: 1.3;
	cursor: pointer;
	text-transform: uppercase;
	padding: 1rem 2rem;
	border: 2px solid var(--color-1);
	transition: 0.4s ease;
}

.tabs_nav li:hover, .gallery_nav li:hover {
	color: white;
	background: var(--color-1);
	border: 2px solid var(--color-1);
	transition: 0.4s ease;
}

.tabs_nav li.active, .gallery_nav li.active {
	color: white;
	background: var(--color-1);
	transition: 0.4s ease;
}

.tabs_box .tabs_body .content {
	display: none;
}

.tabs_box .tabs_body .active {
	display: block !important;
}


/* ==========================================================================
   13. FOOTER
   ========================================================================== */

footer {
	background: #07649d;
	margin-top: 4rem;
	padding: 5rem 0 4rem;
	position: relative;
}

.copyright {
	text-align: center;
	padding: 0.8rem;
	font-size: 0.7rem;
	letter-spacing: 0.1rem;
}

footer::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 1rem;
	display: block;

	background:
		linear-gradient(
			115deg,
			#075f95 0%,
			#075f95 24%,
			#087ac1 24%,
			#087ac1 39%,
			#f5c518 39%,
			#f5c518 48%,
			#ffd83d 48%,
			#ffd83d 56%,
			#087ac1 56%,
			#087ac1 76%,
			#075f95 76%,
			#075f95 100%
		);

	background-size: 200% 100%;
	animation: footerFlow 14s ease-in-out infinite alternate;
}

@keyframes footerFlow {
	0% {
		background-position: 0% 50%;
	}

	100% {
		background-position: 100% 50%;
	}
}

.footer_content .menu a, .footer_sidebar .menu a {
	color: white;
}

.footer_sidebar {
	text-align: center;
}

.footer_sidebar .menu .btn_sm {
	margin-top: 0.7rem;
	padding: 0.4rem 3rem;
}

.footer_sidebar .logo {
	filter: invert(1) brightness(800%);
	margin-bottom: 2rem;
	display: block;
}

.footer_sidebar .menu {
	padding: 0;
	list-style: none;
}

.footer_content .menu {
    column-count: 4;
    column-gap: 2rem;
}

.footer_content .menu a.menu-item {
    display: block;
    break-inside: avoid;
    font-size: 0.9rem;
    font-weight: 400;
    text-decoration: none;
    margin-bottom: 0.2rem;
    transition: opacity 0.2s ease, color 0.2s ease;
}

.footer_content .menu a.menu-item strong {
    display: block;
    font-size: 1.1rem;
    font-weight: 700;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}

.footer_content .menu a.menu-item:first-child strong {
    margin-top: 0;
}

.footer_content .menu a.menu-item:hover {
    color: #ffffff;
    opacity: 0.8;
}


/* ==========================================================================
   14. CUSTOM LAYOUTS & MODULES
   ========================================================================== */

/* Layout z Panelem Bocznym */
.column_based_layout {
	display: flex;
	gap: 2rem;
	margin: 0 auto;
	box-sizing: border-box;
}

.column_based_layout a { text-decoration: none; }

.column_based_layout img {
  width: 100%;
  display: block;
}

/* Lewa Strona (Treść Główna) */
.column_based_layout > .main {
  flex: 1;
  min-width: 0;
}

/* Prawy Sidebar */
.column_based_layout > .sidebar {
	width: 300px;
	flex-shrink: 0;
}

/* Siatka Postów (Grid) */
.posts_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.posts_list .item {
  display: flex;
  flex-direction: column;
}

.posts_list .item img {
  border-radius: var(--border-radius);
  margin-bottom: 0.75rem;
  aspect-ratio: 16 / 9;
  object-fit: cover; 
}

.posts_list .item .content h3 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--color-main);
}

/* Główny Wyróżniony Post (Duży Kafel) */
.posts_list .item-pos-2 {
  grid-column: span 2;
  position: relative;
  border-radius: var(--border-radius);
  overflow: hidden;
  height: 100%;
}

.posts_list .item-pos-2 img {
  border-radius: 0;
  margin-bottom: 0;
  height: 100%;
  aspect-ratio: 16/9; 
  object-fit: cover;
}

.posts_list .item-pos-2 .content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1.5rem;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.85));
  z-index: 1;
}

.posts_list .item-pos-2 .content h3 {
  color: #fff;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.3;
}

.posts_list + .subcategories_list {
	padding-top: 1rem;
}

/* Banery Reklamowe */
.ads_container {
  margin-top: 1.5rem;
  position: relative;
}

.ads_container::before {
  content: "Reklama";
  display: block;
  font-size: 0.7rem;
  color: #aaa;
  margin-bottom: 0.25rem;
}

.ads_position {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

.ads_container img {
  border-radius: var(--border-radius);
}

.ads_position + .posts_list {
	padding-top: 3rem;
}

.posts_box .posts_list + .ads_position,
article .container > .ads_position {
	background: #f4f4f4;
	margin-top: 2rem;
	padding: 1rem;
}

.posts_box .posts_list + .ads_position .ads_container,
article .container > .ads_position .ads_container {
	margin: 0;
}

.sidebar .ads_container:has(.adsbygoogle) {
  width: 100%;
  min-width: 0;
}


/* Sekcja Wiadomości / Moduł Sidebar */
.sidebar .wrapper {
  height: 100%;
}

.sidebar .ads_position {
	position: sticky;
	top: 5.2rem;
}

.sidebar .modul h2, .category_header > * {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--color-1);
  text-transform: uppercase;
  border-bottom: 1px solid #97D9FC;
  padding-bottom: 0.4rem;
}

.sidebar .modul h2 {
  margin-bottom: 0.4rem;
}

.sidebar .posts_list {
	display: flex;
	flex-direction: column;
	gap: 0;
	overflow: hidden;
}

.sidebar .posts_list .item {
  border-bottom: 1px solid #f0f0f0;
  padding: 0.8rem 0;
  grid-column: span 3;
}

.sidebar .posts_list .item:last-child {
  border-bottom: none;
}

.sidebar .posts_list .item .content h3 {
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.35;
}

.sidebar .posts_list .item.first a {
  display: flex;
  flex-direction: row;
  gap: 0.75rem;
  align-items: flex-start;
}

.sidebar .posts_list .item.first img {
	width: 8rem;
	margin-bottom: 0;
	flex-shrink: 0;
	aspect-ratio: 16/10;
	object-fit: cover;
	border-radius: .35rem;
}

.sidebar .posts_list .item.first .content h3 {
  font-weight: 700;
}

.sidebar .modul .box_btn .btn_2 {
	width: 100%;
	justify-content: center;
}

.sidebar .modul .btn_2 i {
	font-size: 0.5rem;
}

.sidebar .modul .box_btn {
	padding: 1rem 0;
}

/* Lista Podkategorii */
.subcategories_list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.subcategories_list li a {
  display: inline-block;
  background-color: var(--color-2);
  color: #fff;
  padding: 0.25rem 0.6rem;
  border-radius: 0.8rem;
  font-size: 0.7rem;
  font-weight: 600;
  white-space: nowrap;
}

.subcategories_list li a:hover {
  background-color: var(--color-1);
}

/* Custom box */
.block_columns_cs1 {
	gap: 4rem;
}

.box_cs1 {
	background: var(--color-1);
	padding: 2rem;
	border-radius: var(--border-radius);
	color: white;
}

.box_cs1 .wp-block-heading {
	border-bottom: 1px solid;
	margin-bottom: 1.5rem;
}

/* Newsletter */
.tnp-subscription, form.tnp-subscription, form.tnp-profile {
	max-width: 100% !important;
}

.tnp-field {
	padding-bottom: 1.5rem;
}





/* ==========================================================================
   15. RESPONSIVE / MEDIA QUERIES
   ========================================================================== */

/* --- Desktop Tweaks (Do 1280px i Wyżej) --- */

@media (min-width: 1201px) {
	header .nav {
		opacity: 1;
		visibility: visible;
		max-height: 500px;
		transition: opacity 0.4s ease, visibility 0.4s ease, max-height 0.4s ease;
	}

	.h_scroll .nav {
		opacity: 0;
		visibility: hidden;
		max-height: 0;
		overflow: hidden;
	}

	.menu_btn {
		opacity: 0;
		visibility: hidden;
		width: 0;
		padding-left: 0;
		padding-right: 0;
		overflow: hidden;
		transition: opacity 0.4s ease, visibility 0.4s ease, width 0.4s ease, margin 0.4s ease, padding 0.4s ease;
	}
	
	.h_scroll .menu_btn {
		opacity: 1;
		visibility: visible;
		width: auto;
		margin-left: 0.7rem;
		padding: 1rem 0;
		overflow: visible;
	}
}

@media (max-width: 1280px) {
	h1, .h1 { font-size: 2.6rem; }
	h2, .h2 { font-size: 1.8rem; }
	h3, .h3 { font-size: 1.3rem; }
	h4, h5, .h4, .h5 { font-size: 1.1rem; }
	
	.container {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
		width: 100%;
	}
	.col_row,
	.col_px_lg .col_row,
	.col_px_sm .col_row {
		margin-left: -1.5rem;
		margin-right: -1.5rem;
		width: auto;
	}
	.col_row > div,
	.col_px_lg .col_row > div,
	.col_px_sm .col_row > div {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
	.col_px_sm .col_row {
		margin-left: -1rem;
		margin-right: -1rem;
	}
	.col_px_sm .col_row > div {
		padding-left: 1rem;
		padding-right: 1rem;
	}
	.non_stretched {
		width: calc(100% - 3rem);
		padding: 1.5rem;
	}
	.box_btn { display: block; }
	.box_btn a { margin-bottom: 0.7rem; }
	.slider .owl-dots { right: 0.5rem; }
	.top_menu li { padding: 0 0.4rem; }
}

/* --- Tablets & Mobile Menu Breakpoint (Do 1200px) --- */

@media (max-width: 1200px) {
	header { padding: 0; }
	
	header .logo {
		display: block;
		padding-right: 1.3rem;
		margin-right: auto;
	}
	header .logo img {
		position: relative;
		z-index: 9;
	}
	header .right { background: transparent; gap: 1.2rem; }
	header ul li.separator {
		padding-left: 0.5rem;
		margin-left: 0.5rem;
	}
	.menu_btn { z-index: 1; }
	
	header .main {
		background: white;
		z-index: 99999;
		position: relative;
		padding: 1.5rem 0;
	}
	header .nav {
		display: none;
		position: fixed;
		width: 100%;
		left: 0;
		background: var(--color-main);
		top: 0;
		border: 0;
		padding: 7rem 1.5rem 1.5rem;
		margin: 0;
		overflow-y: scroll !important;
		bottom: 0;
	}
	header .nav .container, .top_menu { display: block; }
	
	.top_menu { align-items: normal; }
	.top_menu li { display: block; margin-bottom: 0.3rem; }
	.top_menu li a, .top_menu li span {
		padding-bottom: 0.5rem;
		padding-top: 0.5rem;
		text-align: center;
		font-size: 0.9rem;
	}
	.h_scroll .top_menu li { padding: 0; }
	.top_menu li a:hover { transform: none; }
	.top_menu li.icon { padding: 1.5rem 0; }
	
	.top_menu .sub-menu {
		display: block;
		box-shadow: none;
		position: static;
		padding: 1rem;
	}
	.top_menu .current-menu-ancestor span { border-color: transparent; }
	.top_menu .sub-menu:before { content: none; }
	.top_menu .btn_cs { margin-left: 0 !important; }
	
	.slider .item .wrapper { width: auto; }
	
	.tabs_nav li, .gallery_nav li {
		font-size: 1.1rem;
		padding: 0.8rem 1.5rem;
	}
	.tabs_nav, .gallery_nav {
		margin-bottom: 3rem;
		margin-top: 3rem;
	}
}

@media (max-width: 1199px) {
	.posts_list .item .content h3 { font-size: 0.9rem; }
}

/* --- Medium Tablets / Small Screens (Do 992px) --- */

@media (max-width: 992px) {
	section {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
	.py_lg, .pt_lg { padding-top: 5rem; }
	.py_lg, .pb_lg { padding-bottom: 5rem; }
	.py_md, .pt_md { padding-top: 4rem; }
	.py_md, .pb_md { padding-bottom: 4rem; }
	.pt_sm, .py_sm { padding-top: 2rem; }
	.pb_sm, .py_sm { padding-bottom: 2rem; }
	
	.col_center .col_row { align-items: start; }
	[class^="btn_"], [class*=" btn_"] { padding: 1rem 1.7rem; }
	.page_body .wrapper { padding: 0 10%; }
	
	.breadcrumb span { display: block; padding: 0.3rem; }
	.breadcrumb span i { display: none; }
	
	.category_menu ul { flex-wrap: wrap; padding: 1rem 0; }
	.category_menu a {
		padding: 0.5rem 0.7rem;
		border: 1px solid;
		border-radius: 1rem;
		margin: 0.2rem 0.5rem 0.2rem 0;
	}
	.category_menu .current-cat a {
		background: white;
		color: var(--color-1);
	}
	.category_menu .current-cat a:after { content: none; }
	
	.items_list_markers .col_row > .col {
		flex: 0 0 33.333%;
		max-width: 33.333%;
	}
	.offer_list, .reference_list { grid-template-columns: repeat(2, 1fr); }
	.gallery_simple, .gallery_body { grid-template-columns: repeat(2, 1fr) !important; }
	.footer_content .menu { column-count: 2; }
}

/* --- Small Tablets / Large Phones (Do 768px) --- */

@media (max-width: 768px) {
	h1, .h1 { font-size: 2.2rem; }
	h2, .h2 { font-size: 1.6rem; }
	
	header .container { gap: 1rem; }
	header .btn_cs span { display: none; }
	header .btn_cs { padding: 0.6rem 1.5rem; }
	
	.title_center { margin-bottom: 1rem; }
	.container {
		max-width: 100% !important;
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
	.col_row { display: block; }
	.col_row > div {
		margin-bottom: 2.5rem;
		width: 100% !important;
		max-width: 100% !important;
	}
	.col_row > *:last-child { margin-bottom: 0; }
	
	.btn_lg { font-size: 1.2rem; padding: 1rem 2rem; }
	.btn_md { font-size: 1.1rem; padding: 0.8rem 1.5rem; }
	
	.slider .item .wrapper { padding: 0; }
	.slider .item { padding: 10rem 1rem 2rem 1rem; height: 40rem; }
	.slider .owl-nav { display: none; }
	.slider .content { width: 100%; }
	.slider-carousel .owl-dots {
		top: auto;
		flex-direction: row;
		left: 0;
		bottom: 1.5rem;
	}
	
	.tabs_box .tabs { display: block; }
	.testimonials { margin-top: 0; padding-top: 2rem; padding-bottom: 5rem; }
	.testimonials .container { display: block; }
	.testimonials .before_content { max-width: 100%; padding-top: 0; }
	.testimonials .wrapper { max-width: 100%; }
	.testimonials .owl-nav { position: static; text-align: center; }
	
	.tabs_nav, .gallery_nav { flex-direction: column; margin-bottom: 1rem; }
	.tabs_nav li, .gallery_nav li { margin: 0 0 0.5rem; }
	
	.contact_form .col_row .col { margin-bottom: 0; }
	.accordion_box { text-align: left; }
	.pagination { overflow-x: scroll; }
	
	.category_body { padding-top: 3rem; padding-bottom: 3rem; }
	.category_body .pagination { margin-bottom: 0; }
	section.advanced .cover { padding-top: 100%; }
	
	.posts_list { grid-template-columns: repeat(1, 1fr); }
	.posts_list .item-pos-2 { grid-column: span 1; }
	.posts_list .item .content h3 { font-size: 1.1rem; }
	
	.page_head { padding-bottom: 4rem; }
	.post .head .excerpt { padding-top: 0; }
	.post .head .meta { justify-content: center; }
	
	footer { text-align: center; }
	.footer_content .menu { column-count: 4; }
	.footer_content { display: none; }
	.post .content_wrapper .thumbnail {padding: 0;}
	.share_copy_link {flex-direction: column;}
	.post_share_block {padding: 2rem;}
}

/* --- Mobile / Smartfony (Do 576px) --- */

@media (max-width: 576px) {
	header .container { gap: 0.5rem; }
	header .logo img { max-width: 9rem; }
	header .google_logo { display: none; }
	header .btn_cs { padding: 0.6rem 1rem; }
	
	.slider .content { padding: 1.5rem; }
	.gallery_simple, .gallery_body { grid-template-columns: repeat(1, 1fr) !important; }
	
	.accordion_box .title:after { font-size: 1rem; }
	.accordion_box .item { padding: 0; }
	.accordion_box .title h2 { font-size: 1rem; }
	
	.owl-carousel .owl-dots button { margin-bottom: 0.3rem; }
	.owl-carousel .owl-dots button span { padding: 0.4rem; }
	
	.posts_list { grid-template-columns: repeat(1, 1fr); }
	.page_body .wrapper { padding: 0; }
	
	.column_based_layout { flex-direction: column; }
	.column_based_layout > .sidebar { max-width: 100%; }
	
	.footer_content .menu { column-count: 1; }
	
	.column_based_layout > .sidebar {width: 100%;}
}




@media (max-width: 576px) {

    /* Header */
    header .main .container {
        gap: .5rem;
    }

    header .logo {
        flex-shrink: 1;
        min-width: 0;
    }

    header .logo img {
        max-width: 8.5rem;
        width: 100%;
        height: auto;
    }

    header .main .right {
        margin-left: 0;
        flex-shrink: 0;
    }

    /* Search trigger */
    header .main .search {
        flex: 0 0 2.75rem;
        width: 2.75rem;
        margin-left: auto;
    }

    header .main .search > .google_search_form {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2.75rem;
        height: 2.75rem;
        padding: 0;
        background: #f5f6f8;
        border: .0625rem solid #e6e8eb;
        border-radius: 50%;
        cursor: pointer;
    }

    header .main .search .google_search_input {
        display: none;
    }

    header .main .search .google_search_append {
        gap: 0;
    }

    /* Google icon */
    header .main .search .google_search_append > svg {
        display: block;
        width: 1.5rem;
        height: 1.5rem;
        pointer-events: none;
    }

    header .main .search .google_search_submit {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        cursor: pointer;
    }

    /* Lightbox */
    header .gr-search-dialog:not([open]) {
        display: none !important;
    }

    header .gr-search-dialog {
        position: fixed;
        top: 12vh;
        left: 50%;
        right: auto;
        bottom: auto;
        transform: translateX(-50%);
        width: calc(100% - 2rem);
        max-width: 32.5rem;
        max-height: 76dvh;
        margin: 0;
        padding: 1.5rem;
        box-sizing: border-box;
        overflow-y: auto;
        background: #fff;
        border: 0;
        border-radius: 1rem;
        box-shadow: 0 1rem 4rem rgba(0,0,0,.2);
        color: #222;
    }

    header .gr-search-dialog::backdrop {
        background: rgba(10,16,28,.72);
        backdrop-filter: blur(.3rem);
        -webkit-backdrop-filter: blur(.3rem);
    }

    body.gr-search-dialog-open {
        overflow: hidden;
    }

    /* Lightbox heading */
    header .gr-search-dialog__top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        margin-bottom: 1.25rem;
    }

    header .gr-search-dialog__title {
        font-size: 1.25rem;
        font-weight: 700;
        line-height: 1.3;
    }

    header .gr-search-dialog__close {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        width: 2.25rem;
        height: 2.25rem;
        padding: 0;
        background: #f2f3f5;
        color: #444;
        border: 0;
        border-radius: 50%;
        font-size: 1.5rem;
        line-height: 1;
        cursor: pointer;
    }

    /* Lightbox search form */
    header .gr-search-dialog .google_search_form {
        display: flex;
        align-items: center;
        width: 100%;
        min-height: 3.375rem;
        padding: .375rem .5rem .375rem 1rem;
        box-sizing: border-box;
        background: #f8f9fa;
        border: .0625rem solid #ddd;
        border-radius: 3rem;
    }

    header .gr-search-dialog .google_search_form:focus-within {
        background: #fff;
        border-color: var(--color-1);
    }

    header .gr-search-dialog .google_search_input {
        display: block;
        flex: 1;
        width: 100%;
        min-width: 0;
        padding: 0 .5rem 0 0;
        border: 0;
        outline: none;
        background: transparent;
        color: #222;
        font-size: 1rem;
    }

    header .gr-search-dialog .google_search_append {
        display: flex;
        align-items: center;
        gap: .625rem;
        flex-shrink: 0;
    }

    header .gr-search-dialog .google_search_append > svg {
        display: block;
        width: 1.25rem;
        height: 1.25rem;
    }

    header .gr-search-dialog .google_search_submit {
        position: static;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2.375rem;
        height: 2.375rem;
        padding: 0;
        flex-shrink: 0;
        opacity: 1;
        background: var(--color-1);
        color: #fff;
        border: 0;
        border-radius: 50%;
        cursor: pointer;
    }

    header .gr-search-dialog .google_search_submit svg {
        width: 1.125rem;
        height: 1.125rem;
    }
}



/* Lightbox - ukryty, dopóki nie zostanie otwarty */
header .gr-search-dialog:not([open]) {
    display: none !important;
}
