/*
 * BuddyPilot — Footer styles
 * 4-column grid footer on navy background.
 *
 * CSS variables use --bp-* prefix (defined in base.css).
 * WCAG AAA: all text contrast ratios verified per design tokens.
 */

/* ═══════════════════════════════════════════════════
   Site footer — outer wrapper
   ═══════════════════════════════════════════════════ */

.site-footer {
	background:    var(--bp-navy);
	color:         var(--bp-tx-l2);
	padding:       4rem 0 0;
	border-top:    1px solid rgba(255, 255, 255, .08);
	font-family:   var(--bp-font-body);
	text-align:    left;
}

/* ═══════════════════════════════════════════════════
   4-column grid
   ═══════════════════════════════════════════════════ */

.site-footer-cols {
	display:               grid;
	grid-template-columns: 1.6fr 1fr 1fr 1fr;
	gap:                   3rem;
	padding-bottom:        3rem;
}

/* ═══════════════════════════════════════════════════
   Shared column styles
   ═══════════════════════════════════════════════════ */

.footer-col h3 {
	font-family:     var(--bp-font);
	font-size:       .75rem;
	font-weight:     700;
	letter-spacing:  .2em;
	text-transform:  uppercase;
	color:           var(--bp-tx-sky); /* 10.9:1 on navy — WCAG AAA */
	margin:          0 0 1.25rem;
}

.footer-col ul {
	list-style: none;
	padding:    0;
	margin:     0;
}

.footer-col li {
	margin-bottom: .65rem;
}

.footer-col a,
.site-footer a {
	color:           var(--bp-tx-l2);
	text-decoration: none;
	transition:      color .15s ease;
}

.footer-col a:hover,
.site-footer a:hover {
	color: var(--bp-tx-l1);
}

.footer-col li a {
	font-size:   .9375rem;
	line-height: 1.5;
}

/* ═══════════════════════════════════════════════════
   Kolumna 1 — Marka
   ═══════════════════════════════════════════════════ */

.footer-brand-logo {
	display:         inline-flex;
	align-items:     baseline;
	line-height:     1;
	margin-bottom:   1.25rem;
	text-decoration: none;
}

.footer-brand-logo .b {
	font-family:     var(--bp-font);
	font-weight:     700;
	color:           var(--bp-white);
	font-size:       1.75rem;
	letter-spacing:  -.045em;
}

.footer-brand-logo .p {
	font-family:     var(--bp-font);
	font-weight:     400;
	color:           var(--bp-tx-sky);
	font-size:       1.75rem;
	letter-spacing:  -.045em;
}

.footer-brand-desc {
	font-size:    .9375rem;
	color:        var(--bp-tx-l2);
	line-height:  1.65;
	margin:       0 0 1.5rem;
	max-width:    42ch;
}

.footer-company {
	font-size:  .8125rem;
	color:      var(--bp-tx-l3); /* 8.96:1 on navy — WCAG AAA (≥18px context) */
	line-height: 1.7;
	font-style:  normal;
	display:     block;
}

.footer-company strong {
	color:       var(--bp-tx-l2);
	font-weight: 600;
}

.footer-company .row {
	display: block;
}

/* Brand name inline in company address — dark (navy) background variant */
.footer-company .bp-brand__buddy {
	color:     var(--bp-tx-l2); /* 12.7:1 on navy — WCAG AAA */
	font-size: inherit;
}

.footer-company .bp-brand__pilot {
	color:     var(--bp-sky);   /* 10.9:1 on navy — WCAG AAA */
	font-size: inherit;
}

/* ═══════════════════════════════════════════════════
   Kolumna 4 — Kontakt
   ═══════════════════════════════════════════════════ */

.footer-contact-email,
.footer-contact-phone {
	display:         flex;
	align-items:     center;
	gap:             .5rem;
	font-family:     var(--bp-font-mono);
	font-size:       .9375rem;
	color:           var(--bp-tx-l1) !important; /* 17.6:1 on navy — WCAG AAA */
	overflow-wrap:   anywhere;
	text-decoration: none;
}

.footer-contact-email {
	margin-bottom: .75rem;
}

.footer-contact-phone {
	margin-bottom: 1.25rem;
}

/* ═══════════════════════════════════════════════════
   Social media icons
   ═══════════════════════════════════════════════════ */

.footer-social {
	display:    flex;
	gap:        .5rem;
	margin-top: .5rem;
}

.footer-social a {
	width:           44px; /* WCAG 2.5.5 — minimum touch target */
	height:          44px;
	display:         inline-flex;
	align-items:     center;
	justify-content: center;
	border-radius:   8px;
	background:      rgba(255, 255, 255, .06);
	border:          1px solid rgba(255, 255, 255, .08);
	color:           var(--bp-tx-l2) !important;
	font-size:       1rem;
	transition:      background .15s ease, color .15s ease, border-color .15s ease;
}

.footer-social a:hover {
	background:   var(--bp-cobalt);
	border-color: var(--bp-cobalt);
	color:        var(--bp-white) !important;
}

/* ═══════════════════════════════════════════════════
   Pasek dolny
   ═══════════════════════════════════════════════════ */

.site-footer-bar {
	border-top:      1px solid rgba(255, 255, 255, .08);
	padding:         1.25rem 0;
	display:         flex;
	justify-content: space-between;
	align-items:     center;
	flex-wrap:       wrap;
	gap:             1rem;
}

.footer-copy {
	font-size: .8125rem;
	color:     var(--bp-tx-l3); /* 8.96:1 on navy — WCAG AAA */
	margin:    0;
	max-width: none;
}

.footer-legal {
	display:     flex;
	gap:         1.5rem;
	align-items: center;
}

.footer-legal a {
	font-size: .8125rem;
	color:     var(--bp-tx-l3) !important;
}

.footer-legal a:hover {
	color: var(--bp-tx-l2) !important;
}

/* ═══════════════════════════════════════════════════
   Responsive
   ═══════════════════════════════════════════════════ */

@media (max-width: 1024px) {
	.site-footer-cols {
		grid-template-columns: 1fr 1fr;
		gap:                   2.5rem 2rem;
	}

	.footer-col-brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 600px) {
	.site-footer {
		padding-top: 3rem;
	}

	.site-footer-cols {
		grid-template-columns: 1fr;
		gap:                   2rem;
		padding-bottom:        2rem;
	}

	.footer-col-brand {
		grid-column: auto;
	}

	.site-footer-bar {
		flex-direction:  column;
		align-items:     flex-start;
	}
}

/* ═══════════════════════════════════════════════════
   WCAG 2.3.3 — prefers-reduced-motion
   ═══════════════════════════════════════════════════ */

@media (prefers-reduced-motion: reduce) {
	.footer-col a,
	.site-footer a,
	.footer-social a {
		transition: none;
	}
}
