/* ==========================================================================
   WE Coffee — Footer
   Ciemny footer z paletą Espresso, responsywny grid.
   ========================================================================== */

.wecoffee-footer {
	--wecoffee-footer-content-width: min(100% - 2rem, 75rem);
	--wecoffee-footer-bg: var(--wecoffee-color-primary, #3B2820);
	--wecoffee-footer-text: rgba(255, 255, 255, 0.75);
	--wecoffee-footer-heading: #FFFFFF;
	--wecoffee-footer-link: var(--wecoffee-color-secondary, #C4A882);
	--wecoffee-footer-border: rgba(255, 255, 255, 0.12);

	background: var(--wecoffee-footer-bg);
	color: var(--wecoffee-footer-text);
	margin: 0;
	padding-block: clamp(3rem, 8vw, 6rem) 1.5rem;
	width: 100vw !important;
	position: relative !important;
	left: 50% !important;
	right: 50% !important;
	margin-left: -50vw !important;
	margin-right: -50vw !important;
	max-width: 100vw !important;
}

/* ---- Inner layout ---- */

.wecoffee-footer__inner,
.wecoffee-footer__bottom {
	margin-inline: auto;
	max-width: var(--wecoffee-footer-content-width);
}

.wecoffee-footer__inner {
	display: grid;
	gap: clamp(2rem, 4vw, 3rem);
	grid-template-columns: 1fr;
}

@media (min-width: 768px) {
	.wecoffee-footer__inner {
		grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.wecoffee-footer__inner {
		grid-template-columns: minmax(0, 1.7fr) repeat(3, minmax(0, 1fr));
	}
}

/* ---- Brand column ---- */

.wecoffee-footer__brand,
.wecoffee-footer__column {
	min-width: 0;
}

.wecoffee-footer__logo {
	color: var(--wecoffee-footer-heading);
	display: inline-block;
	font-family: var(--wecoffee-font-heading, serif);
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1;
	max-width: 12rem;
	text-decoration: none;
	text-transform: uppercase;
}

.wecoffee-footer__logo:hover {
	color: var(--wecoffee-footer-link);
}

.wecoffee-footer__description {
	font-size: var(--wecoffee-text-small, 0.875rem);
	line-height: 1.65;
	margin-block: var(--wecoffee-space-lg, 1.5rem) var(--wecoffee-space-md, 1rem);
	max-width: 28rem;
}

/* ---- Company info ---- */

.wecoffee-footer__company {
	font-size: var(--wecoffee-text-small, 0.875rem);
	line-height: 1.65;
	display: grid;
	gap: 0.15rem;
}

/* ---- Links ---- */

.wecoffee-footer__company a,
.wecoffee-footer__socials a,
.wecoffee-footer__column a,
.wecoffee-footer__legal a {
	color: var(--wecoffee-footer-link);
	text-decoration: none;
	transition: color 200ms ease, opacity 200ms ease;
}

.wecoffee-footer__company a:hover,
.wecoffee-footer__socials a:hover,
.wecoffee-footer__column a:hover,
.wecoffee-footer__legal a:hover {
	color: #FFFFFF;
	opacity: 1;
}

/* ---- Social links ---- */

.wecoffee-footer__socials {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	margin-top: var(--wecoffee-space-lg, 1.5rem);
}

.wecoffee-footer__socials a {
	font-size: var(--wecoffee-text-caption, 0.75rem);
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* ---- Column headings ---- */

.wecoffee-footer__column h2 {
	color: var(--wecoffee-footer-heading);
	font-family: var(--wecoffee-font-body, sans-serif);
	font-size: var(--wecoffee-text-caption, 0.75rem);
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin: 0 0 var(--wecoffee-space-md, 1rem);
}

/* ---- Column lists ---- */

.wecoffee-footer__column ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.wecoffee-footer__column li {
	font-size: var(--wecoffee-text-small, 0.875rem);
	line-height: 1.65;
}

.wecoffee-footer__column li + li {
	margin-top: 0.5rem;
}

.wecoffee-footer__column a {
	opacity: 0.75;
}

/* ---- Bottom bar ---- */

.wecoffee-footer__bottom {
	border-top: 1px solid var(--wecoffee-footer-border);
	margin-top: clamp(2.5rem, 5vw, 4rem);
	padding-top: var(--wecoffee-space-md, 1rem);
}

.wecoffee-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
	font-size: var(--wecoffee-text-small, 0.875rem);
	opacity: 0.6;
}

/* ---- Focus ---- */

.wecoffee-footer :is(a, button, input, select, textarea):focus-visible {
	outline: 3px solid var(--wecoffee-footer-link);
	outline-offset: 3px;
}
