/* Testuj łącze — pomoc.asta-net.pl
   Kolory, odstępy i typografia według ASTA-NET Design System (tokens.css). */

/* Neue Haas Grotesk Display Pro (licencja webowa ASTA-NET): 45 Light i 65 Medium */
@font-face {
	font-family: "NHaasGroteskDSPro";
	src: url("../fonts/NHaasGroteskDSPro-45Lt.otf") format("opentype");
	font-weight: 100 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "NHaasGroteskDSPro";
	src: url("../fonts/NHaasGroteskDSPro-65Md.otf") format("opentype");
	font-weight: 500 900;
	font-style: normal;
	font-display: swap;
}

:root {
	--gray-0: #ffffff;
	--gray-50: #fafafa;
	--gray-200: #f2f2f2;
	--gray-300: #e0e0e0;
	--gray-600: #4f4f4f;
	--gray-900: #000000;
	--brand-navy: #263779;
	--brand-navy-hover: #1b2858;
	--brand-blue: #006fb9;
	--logo-blue: #008cff;
	--logo-gray: #7c7c7c;
	--interface-blue: #0093e1;
	--interface-blue-dark: #034f97;
	--interface-blue-light: #e0f4fe;
	--border-focus: #2f81ed;

	--text-primary: var(--gray-900);
	--text-secondary: var(--gray-600);
	--surface-page: var(--gray-0);
	--surface-sunken: var(--gray-50);
	--surface-muted: var(--gray-200);
	--border-default: var(--gray-300);

	--font: "NHaasGroteskDSPro", "Hanken Grotesk", -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--radius-lg: 8px;
	--radius-pill: 9999px;
	--page-width: 1140px;
	--gutter: 24px;
}

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

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

body {
	margin: 0;
	background: var(--surface-page);
	color: var(--text-primary);
	font-family: var(--font);
	font-weight: 400;
	font-size: 16px;
	line-height: 26px;
}

h1, h2, p { margin: 0; }
h1, h2 { font-weight: 500; }

a { color: var(--brand-blue); }
a:hover { color: var(--interface-blue-dark); }
a:focus-visible {
	outline: 2px solid var(--border-focus);
	outline-offset: 3px;
}

.icon { flex-shrink: 0; display: block; }

/* Kolumna strony: 1140 px, na wąskich ekranach po 24 px marginesu */
.container {
	width: calc(100% - 2 * var(--gutter));
	max-width: var(--page-width);
	margin: 0 auto;
}

/* Nagłówek */
.site-header { border-bottom: 1px solid var(--border-default); }
.site-header__inner {
	padding: 20px 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 32px;
}
.site-header__brand {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
}
.site-header__logo { display: inline-flex; line-height: 0; }
.site-header__divider {
	width: 1px;
	height: 28px;
	background: var(--border-default);
}
.site-header__label {
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.02em;
	color: var(--text-secondary);
}

.phone-link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--text-primary);
	text-decoration: none;
}
.phone-link:hover { color: var(--interface-blue-dark); }
.phone-link__icon {
	width: 40px;
	height: 40px;
	border-radius: var(--radius-pill);
	background: var(--interface-blue-light);
	color: var(--interface-blue-dark);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.phone-link__text { display: flex; flex-direction: column; }
.phone-link__label {
	font-size: 12px;
	line-height: 16px;
	color: var(--text-secondary);
}
.phone-link__number {
	font-weight: 500;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: 0.02em;
}

/* Hero */
.hero { margin-top: 32px; }
.hero__box {
	background: var(--brand-blue);
	color: var(--gray-0);
	border-radius: var(--radius-lg);
	padding: clamp(32px, 5vw, 64px) clamp(24px, 4vw, 56px);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
}
.hero__title {
	max-width: 720px;
	font-size: clamp(32px, 3vw + 12px, 48px);
	line-height: 1.15;
}
.hero__lead {
	max-width: 640px;
	font-size: 18px;
	line-height: 28px;
}
.hero__actions {
	margin-top: 12px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 24px;
}

.btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 56px;
	padding: 0 32px;
	border-radius: var(--radius-pill);
	font-family: var(--font);
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.02em;
	text-decoration: none;
	transition: background-color .15s linear;
}
.btn--navy { background: var(--brand-navy); color: var(--gray-0); }
.btn--navy:hover { background: var(--brand-navy-hover); color: var(--gray-0); }
.btn--navy:focus-visible { outline-color: var(--gray-0); }

/* Treść */
.content {
	padding: 64px 0;
	display: flex;
	flex-direction: column;
	gap: 64px;
}
.section { display: flex; flex-direction: column; gap: 24px; }
.section__head { display: flex; flex-direction: column; gap: 8px; max-width: 720px; }
.section__title { font-size: 32px; line-height: 40px; }
.section__text { color: var(--text-secondary); }

.download-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 12px;
}

/* Wiersz pobierania (DownloadItem) */
.download-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	border-radius: var(--radius-lg);
	background: var(--surface-sunken);
	color: var(--text-primary);
	text-decoration: none;
	transition: box-shadow .15s linear;
}
.download-item:hover {
	color: var(--text-primary);
	box-shadow: inset 0 0 0 1px var(--interface-blue);
}
.download-item__icon {
	width: 36px;
	height: 36px;
	border-radius: var(--radius-lg);
	background: var(--gray-0);
	color: var(--interface-blue);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.download-item__text { display: flex; flex-direction: column; min-width: 0; }
.download-item__name { font-weight: 500; font-size: 14px; line-height: 20px; }
.download-item__meta { font-size: 12px; line-height: 16px; color: var(--text-secondary); }

.cards {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 24px;
}
.card {
	min-width: 0;
	padding: 32px;
	border-radius: var(--radius-lg);
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 16px;
}
.card--outline { flex: 999 1 420px; box-shadow: inset 0 0 0 1px var(--border-default); }
.card--muted { flex: 1 1 300px; background: var(--surface-muted); align-items: flex-start; }
.card__title { font-size: 24px; line-height: 32px; }

/* Kontakt: poziomy box (ikona po lewej, opis i numer po prawej) */
.contact-box {
	display: flex;
	align-items: center;
	gap: 16px;
	align-self: stretch;
	padding: 16px 24px;
	border-radius: var(--radius-lg);
	background: var(--gray-0);
	box-shadow: inset 0 0 0 1px var(--border-default);
	color: var(--text-primary);
	text-decoration: none;
}
.contact-box:hover { color: var(--interface-blue-dark); }
.contact-box__text { display: flex; flex-direction: column; }
.contact-box__icon {
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	border-radius: var(--radius-pill);
	background: var(--interface-blue-light);
	color: var(--interface-blue-dark);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.contact-box__label { font-size: 13px; line-height: 18px; color: var(--text-secondary); }
.contact-box__value { font-weight: 500; font-size: 18px; line-height: 24px; letter-spacing: 0.02em; }

/* Stopka */
.site-footer { border-top: 1px solid var(--gray-200); }
.site-footer__inner {
	padding: 24px 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.site-footer__copy { font-size: 12px; line-height: 16px; color: var(--text-secondary); }
