/* =========================================
   PALETA I ZMIENNE GLOBALNE
========================================= */
:root {
	--main-navy: #2e4c6d;
	--main-navy-light: #435e88;
	--main-gold: #e7c851;
	--main-grey: #f6f8fa;
	--input-grey: #eef2f6;
	--tile-shadow: #ced3e2;
	--tile-border: #eedf93;
}

/* =========================================
   GLOBALNY RESET I BAZA
========================================= */
*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body {
	background: var(--main-grey);
	color: var(--main-navy);
	font-family: Segoe UI, Arial, sans-serif;
	margin: 0;
}

/* =========================================
   HEADER, LOGO, HERO
========================================= */
header {
	text-align: center;
	background: var(--main-grey);
	padding: 24px 0 18px 0;
	border-bottom: 4px solid var(--main-gold);
}

.header-content {
	margin-bottom: 14px;
}

.exlignis-logo-link {
	display: inline-block;
}

.exlignis-logo {
	height: 44px;
	width: auto;
	border-radius: 5px;
	margin-bottom: 3px;
	box-shadow: 0 2px 7px rgba(46, 76, 109, 0.25);
}

.hero {
	max-width: 900px;
	margin: 0 auto;
	text-align: center;
}

.hero-image {
	width: 410px;
	max-width: 96vw;
	border-radius: 17px;
	margin-bottom: 12px;
	box-shadow: 0 7px 32px rgba(46, 76, 109, 0.14), 0 2px 13px #eedf93;
}

.hero-title {
	font-size: 1.8em;
	font-weight: 900;
	color: #29416c;
	margin: 17px 0 0 0;
	text-shadow: 0 2px 11px rgba(231, 200, 81, 0.2);
	letter-spacing: 0.03em;
}

.hero-bar {
	width: 70vw;
	max-width: 520px;
	height: 5px;
	margin: 18px auto 11px auto;
	border-radius: 6px;
	background: linear-gradient(90deg, #e7c851 0%, #fff8d2 95%);
	opacity: 0.6;
}

/* =========================================
   SEKCJA LISTY KALKULATORÓW
========================================= */
.calc-list-section {
	margin: 38px auto 16px auto;
	padding: 0 16px;
	max-width: 960px;
}

.section-title {
	text-align: center;
	font-size: 1.32em;
	font-weight: 800;
	color: var(--main-navy);
	margin-bottom: 14px;
	border-bottom: 2px solid var(--main-gold);
	padding-bottom: 8px;
	letter-spacing: 0.7px;
}

/* Lista kafelków */
.calc-tile-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 25px;
	justify-content: center;
	align-items: stretch;
}

/* =========================================
   KAFELKI KALKULATORÓW
========================================= */
.calc-tile {
	background: #fbf9ec;
	border: 2.3px solid var(--tile-border);
	border-radius: 15px;
	width: 270px;
	min-height: 150px;
	text-align: center;
	box-shadow: 0 4px 28px rgba(226, 215, 172, 0.26);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transition: 0.16s cubic-bezier(0.42, 1.36, 0.64, 1);
	text-decoration: none;
	color: var(--main-navy);
	padding: 18px 14px 19px 14px;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	z-index: 1;
}

.calc-tile:hover {
	background: #f6f8fd;
	box-shadow: 0 9px 36px rgba(245, 233, 199, 0.62);
	border-color: var(--main-gold);
	transform: scale(1.036);
}

/* Ikona i tytuł wewnątrz kafelka */
.calc-tile-icon {
	font-size: 2.45em;
	margin-bottom: 8px;
	margin-top: 0;
	text-shadow: 0 1px 8px rgba(212, 175, 55, 0.3);
	opacity: 0.9;
}

.calc-tile-title {
	font-size: 1.06em;
	font-weight: 800;
	margin-bottom: 2px;
	letter-spacing: 0.06em;
	color: var(--main-navy-light);
}

/* =========================================
   TŁA GRAFICZNE KAFELKÓW
   (podmieniasz tylko ścieżki do obrazów)
========================================= */
.tile-krokiew::before,
.tile-sztywnosc::before,
.tile-podatnosc::before,
.tile-ciezarokna::before,
.tile-sciana::before {
	content: '';
	position: absolute;
	inset: 0;
	opacity: 0.13;
	pointer-events: none;
	z-index: -1;
	background-size: auto;
	background-repeat: no-repeat;
}

.tile-krokiew::before {
	background-image: url('../img/krokwiak.png');
	background-position: center 86%;
}

.tile-sztywnosc::before {
	background-image: url('../img/sztywnosc.png');
	background-position: center 74%;
}

.tile-podatnosc::before {
	background-image: url('../img/podatnosc.png');
	background-position: center 75%;
}

.tile-ciezarokna::before {
	background-image: url('../img/ciezarokna.png');
	background-position: center 80%;
}

.tile-sciana::before {
	background-image: url('../img/sciana.png');
	background-position: center 84%;
}

/* =========================================
   NOTA PRAWNA I KONTAKT
========================================= */
.legal-note {
	background: #f6f7fa;
	border: 2px dashed #e2c153;
	color: #29416c;
	border-radius: 13px;
	max-width: 850px;
	margin: 34px auto 16px auto;
	box-shadow: 0 2px 12px rgba(46, 76, 109, 0.14);
	padding: 27px 33px 17px 33px;
	text-align: center;
	font-size: 0.8em;
}

.legal-note h2 {
	font-size: 1.13em;
	color: #36547c;
	margin-bottom: 14px;
	font-weight: 900;
	letter-spacing: 0.03em;
}

.legal-note p {
	margin: 0 0 14px 0;
	line-height: 1.52;
}

.legal-contact-box {
	display: block;
	max-width: 440px;
	margin: 18px auto 28px auto;
	background: #ecf0f7;
	border-left: 5px solid #e2c153;
	border-radius: 0 8px 8px 0;
	padding: 15px 24px;
	text-align: left;
	font-size: 1.07em;
	color: #29416c;
	box-shadow: 0 2px 8px rgba(226, 193, 83, 0.25);
	font-weight: 500;
}

.contact-link {
	display: inline-block;
	margin-top: 12px;
	background: #2e4c6d;
	color: #ffe39b;
	border-radius: 7px;
	padding: 5px 15px;
	text-decoration: none;
	font-weight: 800;
	box-shadow: 0 2px 10px rgba(226, 193, 83, 0.4);
	transition: background 0.18s, color 0.14s;
}

.contact-link:hover {
	background: #ffc316;
	color: #15314a;
}

/* =========================================
   STOPKA
========================================= */
footer {
	background: var(--main-navy);
	color: var(--main-gold);
	text-align: center;
	padding: 13px 0 10px 0;
	font-size: 1em;
	font-weight: 800;
	letter-spacing: 1.1px;
	margin-top: 25px;
}

.footer-inner a {
	color: var(--main-gold);
	text-decoration: underline dotted;
	transition: color 0.16s;
}

.footer-inner a:hover {
	color: #fff8d2;
}

/* =========================================
   RESPONSYWNOŚĆ – URZĄDZENIA MOBILNE
========================================= */
@media (max-width: 950px) {
	body {
		font-size: 16px;
	}

	.exlignis-logo {
		height: 28px;
	}

	.hero {
		padding: 0 8px;
	}

	.hero-image {
		width: 98vw;
	}

	.hero-title {
		font-size: 1.08em;
	}

	.calc-list-section {
		padding: 0 10px;
	}

	.calc-tile {
		width: 95vw;
	}

	.calc-tile-title {
		font-size: 0.98em;
	}

	.legal-note,
	.legal-contact-box {
		padding: 7vw 2vw;
		font-size: 1em;
	}

	.legal-contact-box {
		margin-top: 10px;
	}
}
