/*
Theme Name: Polskie Rozmowy
Theme URI: https://polskie-rozmowy.pl
Author: Pawel
Description: Minimalny motyw WordPress dla polskie-rozmowy.pl. Nagłówek i stopka zbudowane jako tekst (bez grafik) przy użyciu dołączonej czcionki webowej i Arial jako drugiej czcionki.
Version: 1.0.0
Requires at least: 5.9
Requires PHP: 7.4
Text Domain: polskie-rozmowy
*/

/* -----------------------------------------------------------
   Reset / base
----------------------------------------------------------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	height: 100%;
}

body {
	margin: 0;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 17px;
	line-height: 1.6;
	color: #222222;
	background-color: #ffffff;
	min-height: 100%;
}

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

a {
	color: #1a4dd6;
	text-decoration: none;
}

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

ul,
ol {
	padding-left: 1.2em;
}

h1, h2, h3, h4, h5, h6 {
	font-family: Arial, Helvetica, sans-serif;
	line-height: 1.25;
	margin: 1.2em 0 0.5em;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	overflow: hidden;
	position: absolute !important;
	word-wrap: normal !important;
}

/* -----------------------------------------------------------
   Webfont (used only for the logo / footer heading text)
----------------------------------------------------------- */
@font-face {
	font-family: "Letterpress Rozmowy";
	src: url("fonts/letterpress.eot");
	src: url("fonts/letterpress.eot?#iefix") format("embedded-opentype"),
		url("fonts/letterpress.woff2") format("woff2"),
		url("fonts/letterpress.woff") format("woff"),
		url("fonts/letterpress.ttf") format("truetype"),
		url("fonts/letterpress.svg#LetterpressText") format("svg");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

/*
 * The bundled webfont does not include glyphs for several Polish
 * diacritics (ą ć ę ń ś ź ż). Without this, the browser would silently
 * fall back to a plain sans-serif for just those letters, breaking the
 * look of words like "Wypowiedź". This second @font-face uses the same
 * font-family name, scoped with unicode-range to only those missing
 * characters, and points at a bold serif system font instead — so those
 * letters stay visually close to the letterpress style rather than
 * jumping to Arial.
 */
@font-face {
	font-family: "Letterpress Rozmowy";
	src: local("Georgia Bold"), local("Georgia-Bold"), local("Times New Roman Bold"), local("Times New Roman"), local("Georgia");
	font-weight: normal;
	font-style: normal;
	unicode-range: U+0104-0105, U+0106-0107, U+0118-0119, U+0143-0144, U+015A-015B, U+0179-017C;
}

.site-branding-font {
	font-family: "Letterpress Rozmowy", Arial, Helvetica, sans-serif;
	font-weight: normal;
	letter-spacing: 0.5px;
}

/* -----------------------------------------------------------
   Layout
   - The header and the footer are pinned (fixed) at the very
     top and bottom of the screen at all times, on every page
     and on every screen size.
   - Only the middle section — the content between header and
     footer — scrolls. The page itself never scrolls.
----------------------------------------------------------- */
.container {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 20px;
	width: 100%;
}

html, body {
	height: 100%;
}

.site {
	display: flex;
	flex-direction: column;
	height: 100vh;
	height: 100dvh;
	overflow: hidden;
}

.site-content {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.site-content .container {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

/* -----------------------------------------------------------
   Header
----------------------------------------------------------- */
.site-header {
	border-bottom: 1px solid #e5e5e5;
	background-color: #ffffff;
	position: sticky;
	top: 0;
	z-index: 100;
	flex: 0 0 auto;
}

.site-header-inner {
	max-width: 850px;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 16.5px 0;
}

.site-logo-text {
	font-size: 20px;
	color: #000000;
	text-transform: uppercase;
	text-decoration: none;
}

.site-logo-text:hover,
.site-logo-text:focus {
	text-decoration: none;
}

.site-url-text {
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
	font-size: 18px;
	color: #1a4dd6;
	text-decoration: none;
}

.site-url-text:hover,
.site-url-text:focus {
	color: #12358f;
	text-decoration: none;
}

/* -----------------------------------------------------------
   Content
----------------------------------------------------------- */
.site-main {
	flex: 1 1 auto;
	width: 100%;
	padding: 40px 0;
}

.single .site-main,
.archive .site-main,
.list-main {
	max-width: 850px;
	margin-right: auto;
	margin-left: auto;
}

.entry-title a {
	color: #222222;
}

.single .entry-title {
	margin-top: 0;
}

.entry-emisja {
	margin: 0.6em 0 0;
	font-size: 14px;
	font-weight: bold;
	color: #666666;
}

.entry-emisja-date {
	font-weight: normal;
	color: #1a4dd6;
}

.entry-comment {
	margin: 0.5em 0 0;
	color: #444444;
}

.single .entry-emisja,
.single .entry-comment {
	margin-left: 20%;
}

/* -----------------------------------------------------------
   Single post — "back to list" link, always shown at the end.
----------------------------------------------------------- */
.back-to-list {
	margin: 2.5em 0 0;
	padding-top: 1.5em;
	border-top: 1px solid #e5e5e5;
}

.back-to-list-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
	font-size: 2em;
	line-height: 1.25;
	text-transform: uppercase;
	color: #000000;
	text-decoration: none;
}

.back-to-list-link:hover,
.back-to-list-link:focus {
	color: #000000;
	text-decoration: underline;
}

.back-to-list-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.15em;
	height: 1.15em;
	border: 2px solid currentColor;
	border-radius: 0.12em;
	flex: 0 0 auto;
}

.back-to-list-arrow::before {
	content: "";
	width: 0.32em;
	height: 0.32em;
	border-top: 0.1em solid currentColor;
	border-right: 0.1em solid currentColor;
	transform: translateY(0.08em) rotate(-45deg);
}

/* -----------------------------------------------------------
   Front page — bridge photo, centered with equal spacing
   between the header and the footer.
----------------------------------------------------------- */
.front-page-main {
	flex: 1 1 auto;
	display: flex;
	width: 100%;
	padding: 0;
	min-height: 0;
}

.front-bridge {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}

.front-bridge img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
	margin: 0 auto;
}

/* On the front page, let the section holding the photo run the full
   width of the screen (instead of being capped at the 1100px content
   width) so the image can be as large as possible. */
.polskie-rozmowy-front .site-content .container {
	max-width: none;
	padding: 0;
}

/* -----------------------------------------------------------
   Lista wypowiedzi (page template: template-lista-wypowiedzi.php)
----------------------------------------------------------- */
.list-title {
	font-size: 28px;
	color: #000000;
	text-transform: uppercase;
	margin: 0 0 0.8em;
}

.wypowiedzi-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.wypowiedz-item {
	padding: 24px 0;
	border-bottom: 1px solid #e5e5e5;
}

.wypowiedz-item:first-child {
	padding-top: 0;
}

.wypowiedz-title {
	margin: 0 0 0.4em;
	font-size: 24px;
}

.wypowiedz-title a {
	color: #222222;
}

.wypowiedz-title a:hover,
.wypowiedz-title a:focus {
	color: #1a4dd6;
}

.wypowiedz-comment {
	margin: 0 0 0.6em;
	color: #444444;
}

.wypowiedz-emisja {
	margin: 0;
	font-size: 14px;
	font-weight: bold;
	color: #666666;
}

.wypowiedz-emisja-date {
	font-weight: normal;
	color: #1a4dd6;
}

@media (max-width: 640px) {
	.list-title {
		font-size: 23px;
	}

	.wypowiedz-title {
		font-size: 20px;
	}
}

/* -----------------------------------------------------------
   Footer
----------------------------------------------------------- */
.site-footer {
	border-top: 1px solid #e5e5e5;
	background-color: #ffffff;
	padding: 19.5px 0;
	margin-top: auto;
	position: sticky;
	bottom: 0;
	z-index: 100;
	flex: 0 0 auto;
}

.site-footer-inner {
	max-width: 850px;
	display: flex;
	flex-direction: column;
	gap: 7.5px;
}

.footer-row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
}

.footer-heading-text {
	font-size: 15.5px;
	color: #000000;
	text-transform: uppercase;
}

.footer-btn,
.footer-email-link,
.footer-youtube-link {
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
	font-size: 15.5px;
	color: #1a4dd6;
}

.footer-btn:hover,
.footer-btn:focus,
.footer-email-link:hover,
.footer-email-link:focus,
.footer-youtube-link:hover,
.footer-youtube-link:focus {
	color: #12358f;
}

.footer-links-row {
	align-items: baseline;
}

/* -----------------------------------------------------------
   Responsive
----------------------------------------------------------- */
@media (max-width: 640px) {
	.site-logo-text {
		font-size: 17px;
	}

	.footer-heading-text {
		font-size: 15px;
	}

	.site-url-text {
		font-size: 14px;
	}

	.footer-btn,
	.footer-email-link,
	.footer-youtube-link {
		font-size: 14px;
	}

	.front-bridge {
		padding: 20px;
	}
}
