/*
Theme Name: Krosno Odrzańskie v1
Theme URI: https://weblives.pl
Author: weblives.pl Jakub Korsan
Author URI: https://weblives.pl
Description: Motyw WordPress dla Krosna Odrzańskiego
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: krosno-odrzanskie
Tags: custom-menu, custom-logo, featured-images, threaded-comments, translation-ready
*/

/* Reset i podstawowe style */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

:root {
	--primary-color: #0066cc;
	--secondary-color: #0052a3;
	--text-color: #333;
	--bg-color: #fff;
	--border-color: #ddd;
}

html {
	font-size: 100%;
	scroll-behavior: smooth;
}

body {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	line-height: 1.6;
	color: var(--text-color);
	background-color: var(--bg-color);
	min-height: 100vh;
}

/* Header */
.site-header {
	background: var(--bg-color);
	border-bottom: 1px solid var(--border-color);
	padding: 1rem 0;
}

.site-branding {
	display: flex;
	align-items: center;
}

.site-title {
	margin: 0;
	font-size: 1.5rem;
}

.site-title a {
	color: var(--text-color);
	text-decoration: none;
}

.site-title a:hover,
.site-title a:focus {
	text-decoration: underline;
}

/* Navigation
 * (Primary menu styles live in assets/css/custom.css to avoid conflicts with Bootstrap navbar markup.)
 */

/* Main Content */
.site-main {
	padding: 2rem 0;
	min-height: 60vh;
}

/* Footer */
.site-footer {
	background: #f8f9fa;
	border-top: 1px solid var(--border-color);
	padding: 2rem 0 0;
	margin-top: 3rem;
}

.footer-navigation ul {
	list-style: none;
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
}

.footer-navigation a {
	color: var(--text-color);
	text-decoration: none;
}

.footer-navigation a:hover,
.footer-navigation a:focus {
	text-decoration: underline;
}

/* Utility Classes */
.container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1rem;
}

.text-center {
	text-align: center;
}

.mt-3 {
	margin-top: 1rem;
}

.small {
	font-size: 0.875rem;
}

/* ============================================
   Widgety przyklejone do prawej krawędzi
   ============================================ */
/* Przyklejona do prawej krawędzi, wyśrodkowana w pionie (względem viewport) */
.krosno-sidebar-widgets {
	position: fixed;
	top: 50%;
	left: auto;
	right: 0;
	transform: translateY(-50%);
	z-index: 1000;
	padding: 0;
	margin: 0;
}

.krosno-sidebar-widgets__list {
	list-style: none;
	margin: 0;
	padding: 0.35rem 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	align-items: stretch;
	width: fit-content;
	min-height: 0;
	background: rgba(255, 255, 255, 0.95);
	box-shadow: -2px 0 12px rgba(0, 0, 0, 0.08);
	border-radius: 0.5rem 0 0 0.5rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-right: 0;
}

.krosno-sidebar-widgets__item {
	margin: 0;
	padding: 0;
}

.krosno-sidebar-widgets__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	margin: 0 0.5rem;
	background-color: #495057;
	color: #fff;
	text-decoration: none;
	border-radius: 0.375rem;
	transition: filter 0.2s, box-shadow 0.2s;
}

/* Kolory kafelków: 1 (BIP) = domyślny szary, 2–4 = niebieski/czerwony/niebieski */
.krosno-sidebar-widgets__item:nth-child(2) .krosno-sidebar-widgets__link { background-color: #0d6efd; }
.krosno-sidebar-widgets__item:nth-child(3) .krosno-sidebar-widgets__link { background-color: #c4302b; }
.krosno-sidebar-widgets__item:nth-child(4) .krosno-sidebar-widgets__link { background-color: #1877f2; }

.krosno-sidebar-widgets__link:hover,
.krosno-sidebar-widgets__link:focus {
	color: #fff;
	filter: brightness(1.15);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
	outline: none;
}

.krosno-sidebar-widgets__link:focus-visible {
	outline: 3px solid #0b5ed7;
	outline-offset: 2px;
	color: #fff;
}

.krosno-sidebar-widgets__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.krosno-sidebar-widgets__icon .bi {
	font-size: 1.35rem;
	color: #fff;
}

.krosno-sidebar-widgets__icon-img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}

.contrast-high .krosno-sidebar-widgets__list {
	background: #fff;
	border: 2px solid #000;
	box-shadow: none;
}

.contrast-high .krosno-sidebar-widgets__item:nth-child(n) .krosno-sidebar-widgets__link {
	background: #000;
	color: #fff;
}

.contrast-high .krosno-sidebar-widgets__link:hover,
.contrast-high .krosno-sidebar-widgets__link:focus {
	background: #ff0;
	color: #000;
}

@media (max-width: 575.98px) {
	.krosno-sidebar-widgets__link {
		width: 2.5rem;
		height: 2.5rem;
		margin: 0 0.35rem;
	}
	.krosno-sidebar-widgets__icon .bi {
		font-size: 1.2rem;
	}
	.krosno-sidebar-widgets__icon-img {
		max-width: 20px;
		max-height: 20px;
	}
}

/* Kalendarz imprez – osadzony Google Calendar */
.krosno-calendar-embed-wrapper {
	margin-top: 0.5rem;
}
.krosno-calendar-embed {
	display: block;
	min-height: 500px;
}
@media (max-width: 575.98px) {
	.krosno-calendar-embed {
		min-height: 400px;
	}
}
