/*
	KLUCZ Nieruchomości — custom overrides, loaded after main.css.
	Palette: navy-darkest #0F333D, navy-deep #14424D, teal #1B5A68,
	gold #C9A24B, cream #F7F7F5.
*/

/* Fonts */

	body, input, select, textarea {
		font-family: 'IBM Plex Sans', Arial, Helvetica, sans-serif;
		color: rgba(247, 247, 245, 0.75);
	}

	h1, h2, h3, h4, h5, h6 {
		font-family: 'Libre Franklin', Arial, Helvetica, sans-serif;
		color: #F7F7F5;
	}

	strong, b {
		color: #F7F7F5;
	}

	input[type="submit"],
	input[type="reset"],
	input[type="button"],
	button,
	.button {
		font-family: 'Libre Franklin', Arial, Helvetica, sans-serif;
	}

/* Sidebar */

	#sidebar {
		background: #0F333D;
	}

	#sidebar nav a:after {
		background-image: -moz-linear-gradient(to right, #14424D, #C9A24B);
		background-image: -webkit-linear-gradient(to right, #14424D, #C9A24B);
		background-image: -ms-linear-gradient(to right, #14424D, #C9A24B);
		background-image: linear-gradient(to right, #14424D, #C9A24B);
	}

	@media screen and (max-width: 736px) {

		#sidebar nav a:after {
			background-color: #C9A24B;
		}

	}

/* Section backgrounds — one fully saturated colour per section */

	#intro {
		background-color: #14424D;
	}

	#one {
		background-color: #1B5A68;
	}

	#two {
		background-color: #C9A24B;
		color: #14424D;
	}

		#two h2,
		#two h3,
		#two p,
		#two strong,
		#two b {
			color: #14424D;
		}

		#two .features section {
			border-top-color: rgba(20, 66, 77, 0.2);
		}

			#two .features section:nth-child(2n) {
				border-left-color: rgba(20, 66, 77, 0.2);
			}

		#two .features {
			border-color: rgba(20, 66, 77, 0.2);
			background: rgba(20, 66, 77, 0.06);
		}

		#two .icon.solid.major:before {
			color: #14424D;
		}

		#two .button,
		#two input[type="submit"],
		#two input[type="button"] {
			border-color: rgba(20, 66, 77, 0.4) !important;
			color: #14424D !important;
		}

			#two .button:after {
				background: #14424D;
			}

			#two .button:hover,
			#two .button:hover:active {
				border-color: #14424D !important;
				color: #14424D !important;
			}

	#offers {
		background-color: #14424D;
	}

	#three {
		background-color: #0F333D;
	}

	#footer {
		background-color: #0F333D !important;
	}

/* Missing-photo fallback (visible placeholder until real photos are added) */

	.missing-photo {
		position: absolute;
		inset: 0;
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-flex-direction: column;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0.5em;
		background: rgba(15, 51, 61, 0.35);
		color: #F7F7F5;
		font-size: 0.7em;
		line-height: 1.4;
		text-align: center;
		padding: 1.5em;
		z-index: 2;
		pointer-events: none;
	}

		.missing-photo .icon {
			font-size: 2em;
			opacity: 0.85;
		}

	.offer-card .image {
		position: relative;
	}

/* Offers grid (new component — 6 white cards on the navy #offers section) */

	.offers-grid {
		display: -moz-grid;
		display: -ms-grid;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 2em;
		margin: 0 0 2.5em 0;
	}

	.offer-card {
		background: #F7F7F5;
		color: #14424D;
		text-align: left;
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-flex-direction: column;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		overflow: hidden;
	}

		.offer-card .image {
			width: 100%;
			height: 12em;
			overflow: hidden;
			background-color: rgba(20, 66, 77, 0.08);
		}

			.offer-card .image img {
				width: 100%;
				height: 100%;
				-o-object-fit: cover;
				object-fit: cover;
				display: block;
			}

		.offer-card .offer-body {
			padding: 1.5em 1.75em 1.75em 1.75em;
			display: -moz-flex;
			display: -webkit-flex;
			display: -ms-flex;
			display: flex;
			-moz-flex-direction: column;
			-webkit-flex-direction: column;
			-ms-flex-direction: column;
			flex-direction: column;
			-moz-flex-grow: 1;
			-webkit-flex-grow: 1;
			-ms-flex-grow: 1;
			flex-grow: 1;
		}

		.offer-card h3 {
			color: #14424D;
			font-size: 1.05em;
			margin: 0 0 0.75em 0;
		}

		.offer-card ul.offer-params {
			list-style: none;
			margin: 0 0 1em 0;
			padding: 0;
			font-size: 0.8em;
			line-height: 1.7;
			color: #14424D;
		}

			.offer-card ul.offer-params li strong {
				color: #14424D;
			}

		.offer-card p.offer-desc {
			font-size: 0.8em;
			color: rgba(20, 66, 77, 0.8);
			margin: 0 0 1.5em 0;
		}

		.offer-card .offer-links {
			margin-top: auto;
			display: -moz-flex;
			display: -webkit-flex;
			display: -ms-flex;
			display: flex;
			-moz-flex-wrap: wrap;
			-webkit-flex-wrap: wrap;
			-ms-flex-wrap: wrap;
			flex-wrap: wrap;
			gap: 0.75em;
		}

			.offer-card .offer-links a {
				font-family: 'Libre Franklin', Arial, Helvetica, sans-serif;
				font-size: 0.68em;
				font-weight: bold;
				letter-spacing: 0.15em;
				text-transform: uppercase;
				text-decoration: none;
				white-space: nowrap;
				display: inline-block;
				padding: 0 1.5em;
				height: 2.85em;
				line-height: 2.85em;
				border-radius: 3em;
				border: solid 1px #14424D;
				color: #14424D;
				-moz-transition: background-color 0.2s ease, color 0.2s ease;
				-webkit-transition: background-color 0.2s ease, color 0.2s ease;
				-ms-transition: background-color 0.2s ease, color 0.2s ease;
				transition: background-color 0.2s ease, color 0.2s ease;
			}

				.offer-card .offer-links a:hover {
					background-color: #14424D;
					color: #F7F7F5 !important;
				}

	@media screen and (max-width: 980px) {

		.offers-grid {
			grid-template-columns: repeat(2, 1fr);
		}

	}

	@media screen and (max-width: 736px) {

		.offers-grid {
			grid-template-columns: 1fr;
		}

	}

/* Contact section extras */

	#three .contact-extra {
		margin: 2em 0 0 0;
		list-style: none;
		padding: 0;
	}

		#three .contact-extra li {
			margin: 0 0 1.25em 0;
		}

		#three .contact-extra h3 {
			font-size: 0.9em;
			margin: 0 0 0.5em 0;
		}
