/* =========================================================
   80-lecie ZS1 Stargard – style wspólne (index.html + galeria.php)
   ========================================================= */

/* ---------- RWD (przeniesione z index.html) ---------- */
*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: hidden; }
img { max-width: 100%; height: auto; }

#content {
	width: 100%;
	max-width: 1280px;
	height: auto !important;
	margin: 40px auto;
	padding: 10px 20px;
}

#l_c { float: left; width: 44%; height: auto; margin: 0; }
#r_c {
	display: block;
	float: left;
	width: 54%;
	margin: 0 0 0 2%;
	height: auto;
	aspect-ratio: 1498 / 1050;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center top;
}
#event_logo {
	width: 100%;
	height: auto;
	aspect-ratio: 890 / 743;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center top;
	float: none;
}
#buttons { display: none; }

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

.mobile-nav-toggle {
	display: none;
	background: #fff;
	border: 2px solid #d9251c;
	color: #d9251c;
	font-size: 1.4rem;
	line-height: 1;
	padding: 8px 14px;
	margin: 10px 15px;
	cursor: pointer;
	border-radius: 4px;
}

@media (max-width: 1200px) {
	.row { display: block; }
	.col-sm-9 { width: 100%; padding: 0 15px; }
	.mobile-nav-toggle { display: inline-block; }
	#site-navigation {
		display: none;
		width: 100%;
		float: none !important;
		margin: 10px 0 0 0 !important;
	}
	#site-navigation.nav-open { display: block; }
	#site-navigation .main-nav > ul.menu {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		height: auto !important;
	}
	#site-navigation .menu-item { width: 100%; float: none; }
	#site-navigation .sub-menu {
		position: static !important;
		display: none;
		width: 100% !important;
	}
	#site-navigation .menu-item.submenu-open > .sub-menu { display: block !important; }
}

@media (max-width: 700px) {
	#l_c, #r_c { float: none; width: 100%; margin: 0 0 20px 0; }
	h1 { font-size: 1.5rem; padding: 0 15px; }
	#content > p { padding: 0 15px; }
	#podpis, #content > div:not(.belt) { padding-left: 15px; padding-right: 15px; }
}

@media (max-width: 480px) {
	h1 { font-size: 1.25rem; }
	body { font-size: 0.95rem; }
}

/* ---------- Strona główna – artykuł (index.html) ---------- */
.art {
	max-width: 820px;
	margin: 40px auto 20px;
	padding: 0 20px;
	font-size: 1.1rem;
	line-height: 1.8;
	color: #2b2b2b;
}
.art p { margin: 0 0 1.2em; }

.art-data {
	font-size: .85rem;
	font-weight: bold;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #d9251c;
	margin: 0 0 6px !important;
}
.art .art-tytul {
	font-size: clamp(2rem, 5vw, 3rem);
	font-weight: 800;
	line-height: 1.15;
	margin: 0 0 28px;
	padding: 0 0 18px;
	color: #222;
	position: relative;
}
.art .art-tytul::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 80px;
	height: 4px;
	border-radius: 2px;
	background: #d9251c;
}
.art-lead {
	font-size: 1.25rem;
	line-height: 1.7;
	color: #111;
}

.art-podziekowania {
	margin: 36px 0;
	padding: 26px 30px 10px;
	background: #f7f5f2;
	border-left: 5px solid #d9251c;
	border-radius: 0 10px 10px 0;
	font-size: 1rem;
}
.art-podziekowania h2 {
	font-size: 1.4rem;
	font-weight: 800;
	margin: 0 0 12px;
	color: #d9251c;
}
.art-podziekowania b { color: #111; }

.art-zakonczenie {
	text-align: center;
	font-size: 1.35rem;
	font-style: italic;
	line-height: 1.5;
	color: #444;
	margin: 40px 0 !important;
}

/* przycisk do galerii */
.art-cta {
	text-align: center;
	margin: 30px 0 34px;
	padding: 34px 20px;
	border-radius: 14px;
	background: linear-gradient(135deg, #fff5f4 0%, #fde3e1 100%);
	border: 1px solid #f6c9c5;
}
.art-cta .art-cta-tekst {
	margin: 0 0 18px;
	font-size: 1.05rem;
	color: #555;
}
.art-btn {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 18px 36px;
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 1.2;
	color: #fff !important;
	text-decoration: none !important;
	background: linear-gradient(135deg, #e5332a 0%, #b5140c 100%);
	border-radius: 999px;
	box-shadow: 0 8px 22px rgba(217, 37, 28, .38);
	transition: transform .2s, box-shadow .2s;
	animation: art-puls 2.6s ease-in-out infinite;
}
.art-btn:hover, .art-btn:focus-visible {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(217, 37, 28, .5);
	animation: none;
}
.art-btn:focus-visible { outline: 3px solid #222; outline-offset: 4px; }
.art-btn svg { flex-shrink: 0; }
.art-btn-strzalka { transition: transform .2s; }
.art-btn:hover .art-btn-strzalka { transform: translateX(5px); }

@keyframes art-puls {
	0%, 100% { box-shadow: 0 8px 22px rgba(217, 37, 28, .38), 0 0 0 0 rgba(217, 37, 28, .35); }
	50%      { box-shadow: 0 8px 22px rgba(217, 37, 28, .38), 0 0 0 12px rgba(217, 37, 28, 0); }
}
@media (prefers-reduced-motion: reduce) {
	.art-btn { animation: none; }
}

.art-info { text-align: center; font-size: .95rem; color: #666; }

@media (max-width: 700px) {
	.art { margin-top: 24px; font-size: 1rem; }
	.art-lead { font-size: 1.1rem; }
	.art-podziekowania { padding: 20px 18px 6px; }
	.art-zakonczenie { font-size: 1.15rem; }
	.art-btn { width: 100%; justify-content: center; padding: 16px 20px; font-size: 1.1rem; }
}

/* ---------- Galeria (galeria.php) ---------- */
.gal-h2 { margin: 30px 0 15px; }
.gal-filmy { margin-bottom: 8px; }
.gal-grupa[hidden] { display: none; }

.gal-przyciski {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 10px;
}
.gal-btn {
	background: #fff;
	border: 2px solid #d9251c;
	color: #d9251c;
	padding: 8px 16px;
	font-size: 1rem;
	font-weight: bold;
	cursor: pointer;
	border-radius: 4px;
}
.gal-btn span { font-weight: normal; opacity: .75; }
.gal-btn:hover, .gal-btn:focus-visible { background: #fbe9e8; }
.gal-btn.aktywny { background: #d9251c; color: #fff; }

.gal-filmy {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 15px;
}
.gal-film video { width: 100%; aspect-ratio: 16 / 9; background: #000; display: block; }

.gal-zdjecia {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 8px;
}
.gal-zdjecia a { display: block; aspect-ratio: 4 / 3; overflow: hidden; }
.gal-zdjecia img { width: 100%; height: 100%; object-fit: cover; }
.gal-zdjecia a:hover img { opacity: .85; }

@media (max-width: 700px) {
	.gal-h2, .gal-filmy, .gal-zdjecia, .gal-przyciski { padding: 0 15px; }
	.gal-btn { flex: 1 1 auto; }
	.gal-filmy { grid-template-columns: 1fr; }
	.gal-zdjecia { grid-template-columns: repeat(2, 1fr); gap: 5px; }
}
