/*  #Mobile (Portrait)
================================================== */
/* Note: Design for a width of 320px */

@media only screen and (min-width: 100px) and (max-width: 767px)  {
	
	body {
		font-size: 14px;
		line-height: 20px;
	}
	
		.nav-toggle {
		display: inline-grid;
		place-items: center;
	}
	
	/* Menu jako panel rozwijany od góry (nad treścią) */
	#mainMenu ul {
		position: fixed !important;
		top: 130px;
		left: 0;
		right: 0;
		z-index: 1000;
		margin: 0;
		padding: 8px 12px;
		background: #cf0606; /* zachowujemy Twój kolor */
		max-height: calc(100vh - 130px);
		overflow: auto;
		transform: translateY(-140%);
		transition: transform 0.22s ease;
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
		float: none; /* unieważnia float z desktopu */
		width: auto; /* pełna szerokość */
	}
	body.nav-open #mainMenu ul {
		transform: translateY(0);
	}

	/* Ułatwienia dotykowe */
	#mainMenu ul li {
		background-image: none;
	}
	#mainMenu ul li a {
		display: block;
		padding: 12px 6px;
		font-size: 19px;
		text-shadow: none;
		border-radius: 6px;
	}
	#mainMenu ul li a:hover {
		background: rgba(255, 255, 255, 0.12);
		color: #ffde00;
	}

	/* Zablokuj przewijanie tła przy otwartym menu (opcja) */
	body.nav-open {
		overflow: hidden;
	}
	#content,
	#topmap,
	#container,
	#mainMenu,
	#footer {
		width: 100%;
		padding: 0;
		margin: auto;
		height: auto;
	}
	#contactRow {
		width: 100%;
		height: 55px;
		background-size: 520px;
		background-image: url(img/contactRow.png);
	}
	#content #mainLeft,
	#content #mainRight {
		width: auto;
		font-size: 13px;
		padding: 20px 10px;
		line-height: 19px;
	}
	
	#content {
		padding: 25px 15px;
	}
	.submenuItem {
		font-size: 16px;
	}
	#subLeft,
	#subRight {
		width: 100%;
	}
	
	#subRight {
		margin-top: 30px;
	}
	
	#content #mainRight img {
		max-width: 130px;
		margin-right: 10px;
	}
	
	#topmap img {
		width: 145%;
		max-width: none;
		height: auto;
		margin-left: -20px;
		margin-top: -20px;
	}
	
	#footer #copyright,
	#footer #design {
		width: 100%;
		text-align: center
	}
	
	a.newsLink {
		font-size: 14px;
		margin-bottom: 5px;
	}
	
	div.defaultGallery div.image,
	div.defaultGallery div.image a img,
	div.defaultGallery div.image a {
		width: 100%;
		margin: 0;
	}
	
	#contactform {
		width: 100%;
	}
	
	#contactform h3 {
		margin-bottom: 20px !important;
	}
	.contact-form { grid-template-columns: 1fr; }  /* 1 kolumna */
  .form-row { flex-direction: column; align-items: stretch; }
  .form-row > label { text-align: left; margin-bottom: 6px; flex: 0 0 auto; }
	
}