/* Provisional polish layered over screen.css.
   Remove when the site gets a full redesign. */

/* ---- Typography: larger, more readable body text ---- */
#main p,
#main li {
	font-size: 1.08em;
	line-height: 1.65;
}

#main h2 {
	font-size: 2.2em;
	margin-bottom: 0.6em;
}

#main h3 {
	font-size: 1.5em;
	margin-top: 1.6em;
}

#content p {
	margin-top: 0.8em;
	margin-bottom: 0.8em;
}

/* Prevent any in-content image from overflowing its container */
#main img {
	max-width: 100%;
	height: auto;
}

/* Footer columns: a bit more breathing room */
#upfooter {
	padding: 18px 0 24px;
}

#cols address {
	line-height: 1.65;
}

#cols ul {
	line-height: 1.9;
}

/* ---- Mobile: stack layout below 1000px ---- */
@media (max-width: 1000px) {
	body {
		text-align: left;
	}

	#layout,
	#cols {
		width: auto;
		max-width: 980px;
		padding-left: 14px;
		padding-right: 14px;
		box-sizing: border-box;
	}

	/* Header: center logo, move nav below */
	#header {
		text-align: center;
		padding-top: 10px;
	}

	h1#logo {
		margin: 0 auto;
	}

	#navigation {
		position: static;
		background: rgba(242, 241, 235, 0.92);
		border: 1px solid #e3e1d3;
		border-radius: 4px;
		margin: 16px auto 0;
		padding: 8px 0;
	}

	#navigation ul {
		margin: 0;
		padding: 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	#navigation li {
		float: none;
		width: auto;
		padding: 4px 14px;
	}

	#navigation ul li a {
		font-size: 1.3em;
	}

	/* Hero strip image fully responsive */
	#ImagePicture img {
		max-width: 100%;
		height: auto;
		display: block;
		margin: 0 auto;
	}

	/* Content + related stack */
	#main {
		padding: 16px;
	}

	#content {
		width: auto;
		float: none;
		margin-left: 0;
	}

	#content p,
	#content li {
		margin-right: 0;
	}

	#related {
		float: none;
		width: auto;
		margin-top: 28px;
		display: flex;
		flex-wrap: wrap;
		gap: 14px;
		justify-content: center;
	}

	#related .box {
		flex: 1 1 220px;
		max-width: 280px;
	}

	/* Kill inline float/width on history paragraphs and kontakt address */
	#content p[style*="float"] {
		float: none !important;
		margin: 14px 0 !important;
		text-align: center;
	}

	#content div[style*="float"],
	#content div[style*="width: 200px"],
	#content div[style*="width:200px"] {
		float: none !important;
		width: auto !important;
	}

	/* Mapy.cz map: fill width */
	#mapa {
		width: 100% !important;
		max-width: 560px;
		height: 340px !important;
		margin-top: 18px;
	}

	/* Footer columns stack */
	#cols {
		padding-top: 14px;
		padding-bottom: 14px;
	}

	#cols .col {
		float: none;
		width: auto;
		margin-right: 0;
		margin-bottom: 22px;
	}

	#cols address {
		margin-left: 0;
	}

	#imgFotoDedecek {
		display: none;
	}
}

/* ---- Very narrow screens ---- */
@media (max-width: 520px) {
	#main {
		padding: 12px;
	}

	#main h2 {
		font-size: 1.75em;
	}

	#main p,
	#main li {
		font-size: 1.02em;
	}

	#navigation ul li a {
		font-size: 1.15em;
	}

	#navigation li {
		padding: 4px 10px;
	}

	h1#logo {
		transform: scale(0.85);
		transform-origin: top center;
	}
}
