/* =========================================================
   FELLES FOOTER  ·  brukes på begge overflater
   Mørk bakgrunn, brand-agnostisk. Identisk på .ec-shop og
   .ec-corp. Newsletter-skjemaets innebygde stil overstyres
   forsiktig så den passer det mørke temaet.
   ========================================================= */

/* Sticky-footer-rytme: body som flex-column, main flex:1, footer trykker mot bunnen.
   Dette eliminerer den hvite plass-stripa som tidligere viste seg
   under footer på korte sider (kontakt, kategorier med få produkter osv). */
html, body { min-height: 100vh; }
body { display: flex; flex-direction: column; }
body > .ec-shop-header-wrap,
body > .ec-corp-header { flex: 0 0 auto; }
body > main { flex: 1 0 auto; }
body > .ec-footer, body > footer.ec-footer { flex: 0 0 auto; margin-top: auto; }

.ec-footer {
	background: var(--ec-ink);
	color: rgba(255, 255, 255, 0.92);
	padding: 56px 32px 28px;
	font-family: var(--font-ui);
	font-size: 14px;
	line-height: 1.7;
}
.ec-footer * { box-sizing: border-box; }
.ec-footer-inner { max-width: var(--container); margin: 0 auto; }

.ec-footer-top {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr 1.2fr;
	gap: 40px;
	padding-bottom: 40px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.ec-footer .ec-logo {
	font-size: 32px;
	color: #FFFFFF;
}
.ec-footer-tagline {
	font-family: var(--font-logo);
	font-weight: 300;
	font-style: italic;
	font-size: 14px;
	letter-spacing: 0.04em;
	color: rgba(255, 255, 255, 0.75);
	margin: 14px 0 20px;
}
.ec-footer-address {
	font-style: normal;
	color: rgba(255, 255, 255, 0.88);
	font-size: 13.5px;
	line-height: 1.75;
}
.ec-footer-address a {
	color: inherit;
	text-decoration: none;
	transition: color .15s;
}
.ec-footer-address a:hover { color: #FFFFFF; }
.ec-footer-address strong { color: #FFFFFF; }

.ec-footer-col h4 {
	font-family: var(--font-ui);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #FFFFFF;
	margin: 0 0 16px;
}
.ec-footer-col ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.ec-footer-col a {
	color: rgba(255, 255, 255, 0.88);
	text-decoration: none;
	font-size: 14px;
	transition: color .15s;
}
.ec-footer-col a:hover { color: #FFFFFF; text-decoration: underline; }

.ec-footer-newsletter-lede {
	margin: 0 0 12px;
	color: rgba(255, 255, 255, 0.88);
	font-size: 13.5px;
	line-height: 1.6;
}
.ec-footer-newsletter input,
.ec-footer-newsletter-form input {
	width: 100%;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.14);
	color: #FFFFFF;
	padding: 10px 12px;
	border-radius: var(--r-sm);
	font-size: 13px;
	margin-bottom: 8px;
	font-family: var(--font-ui);
}
.ec-footer-newsletter input::placeholder,
.ec-footer-newsletter-form input::placeholder { color: rgba(255, 255, 255, 0.4); }
.ec-footer-newsletter button,
.ec-footer-newsletter-form button {
	width: 100%;
	background: var(--ec-red);
	color: #FFFFFF;
	border: 0;
	padding: 10px;
	border-radius: var(--r-sm);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	font-family: var(--font-ui);
	transition: background .15s;
}
.ec-footer-newsletter button:hover,
.ec-footer-newsletter-form button:hover { background: var(--ec-red-ink); }
.ec-footer-newsletter-note {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.7);
	margin: 8px 0 0;
}

.ec-footer-bottom {
	padding-top: 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.85);
}
.ec-footer-legal { display: flex; gap: 18px; flex-wrap: wrap; align-items: center; }
.ec-footer-legal a {
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
	transition: color .15s;
}
.ec-footer-legal a:hover { color: #FFFFFF; text-decoration: underline; }
.ec-footer-pay { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.ec-footer-pay span {
	background: rgba(255, 255, 255, 0.14);
	padding: 5px 10px;
	border-radius: var(--r-xs);
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.04em;
	color: #FFFFFF;
}

@media (max-width: 900px) {
	.ec-footer { padding: 40px 20px 20px; }
	.ec-footer-top { grid-template-columns: 1fr 1fr; gap: 28px; }
}
@media (max-width: 560px) {
	.ec-footer-top { grid-template-columns: 1fr; gap: 24px; padding-bottom: 28px; }
	.ec-footer-bottom { flex-direction: column; align-items: flex-start; }
}
