/* =========================================================
   ELECTROBLAU — CONTENT BLOCK FOOTER
========================================================= */

:root {
	--ebf-navy: #052e57;
	--ebf-navy-2: #073a68;
	--ebf-blue: #0f5f9c;
	--ebf-cyan: #12b9d9;
	--ebf-text: #ffffff;
	--ebf-muted: rgba(255,255,255,.66);
	--ebf-border: rgba(255,255,255,.12);
	--ebf-soft: rgba(255,255,255,.055);
	--ebf-container: 1440px;
}


/* =========================================================
   ROOT / GUTENBERG NORMALIZATION
========================================================= */

.ebf-footer,
.ebf-footer * {
	box-sizing: border-box;
}


.ebf-footer {
	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;

	background:
		var(--ebf-navy);

	color:
		var(--ebf-muted);
}


.ebf-footer
.wp-block-group,
.ebf-footer
.wp-block-columns,
.ebf-footer
.wp-block-column,
.ebf-footer
.wp-block-shortcode,
.ebf-footer
.wp-block-social-links,
.ebf-footer
p,
.ebf-footer
h2,
.ebf-footer
h3,
.ebf-footer
h4 {
	margin-top: 0;
	margin-bottom: 0;
}


.ebf-container {
	width:
		min(
			calc(100% - 64px),
			var(--ebf-container)
		) !important;

	max-width:
		var(--ebf-container) !important;

	margin-left:
		auto !important;

	margin-right:
		auto !important;

	padding-left: 0 !important;
	padding-right: 0 !important;
}


/* =========================================================
   TOP VALUE STRIP
========================================================= */

.ebf-value-strip {
	border-bottom:
		1px solid
		var(--ebf-border);

	background:
		var(--ebf-navy-2);
}


.ebf-value-strip__inner {
	display: grid !important;

	grid-template-columns:
		repeat(4,minmax(0,1fr));

	min-height: 76px;

	align-items: stretch;

	gap: 0;
}


.ebf-value {
	display: grid;

	grid-template-columns:
		38px minmax(0,1fr);

	align-items: center;

	gap: 11px;

	padding:
		16px 22px;

	border-right:
		1px solid
		var(--ebf-border);
}


.ebf-value:last-child {
	border-right: 0;
}


.ebf-value__icon {
	width: 38px;
	height: 38px;

	display: grid;
	place-items: center;

	border:
		1px solid
		rgba(255,255,255,.16);

	border-radius: 11px;

	color:
		#c9f2f8;
}


.ebf-value__icon svg {
	width: 20px;
	height: 20px;

	fill: none;

	stroke:
		currentColor;

	stroke-width: 1.7;

	stroke-linecap:
		round;

	stroke-linejoin:
		round;
}


.ebf-value strong {
	display: block;

	margin-bottom: 3px;

	color: #fff;

	font-size: 12.5px;
	line-height: 1.2;

	font-weight: 750;
}


.ebf-value small {
	display: block;

	color:
		var(--ebf-muted);

	font-size: 10.5px;
	line-height: 1.3;
}


/* =========================================================
   MAIN FOOTER
========================================================= */

.ebf-main {
	padding:
		54px 0 42px;
}


.ebf-main-grid {
	display: grid !important;

	grid-template-columns:
		1.35fr
		.78fr
		.95fr
		.85fr
		1.05fr;

	gap:
		clamp(
			24px,
			3vw,
			52px
		);

	align-items: start;
}


/* =========================================================
   BRAND
========================================================= */

.ebf-brand {
	min-width: 0;
}


.ebf-brand
.wp-block-site-logo {
	margin:
		0 0 20px !important;
}


.ebf-brand
.wp-block-site-logo img {
	display: block;

	width: auto !important;
	height: auto !important;

	max-width: 190px !important;
	max-height: 48px;

	filter:
		brightness(0)
		invert(1);

	opacity: .96;
}


.ebf-brand-copy {
	max-width: 315px;

	margin-bottom:
		23px !important;

	color:
		var(--ebf-muted);

	font-size: 13px;
	line-height: 1.65;
}


.ebf-contact-label {
	margin-bottom:
		7px !important;

	color:
		rgba(255,255,255,.40);

	font-size: 9px;
	line-height: 1;

	font-weight: 800;

	letter-spacing: .105em;

	text-transform: uppercase;
}


.ebf-contact-link {
	color: #fff;

	font-size: 13px;

	font-weight: 700;

	text-decoration: none;
}


.ebf-contact-link:hover {
	color:
		#bdebf4;
}


/* =========================================================
   SOCIAL LINKS
========================================================= */

.ebf-socials {
	margin-top:
		22px !important;

	gap: 8px !important;
}


.ebf-socials
.wp-social-link {
	width: 38px;
	height: 38px;

	display: grid;

	place-items: center;

	margin: 0 !important;

	border:
		1px solid
		rgba(255,255,255,.15);

	border-radius: 10px !important;

	background:
		rgba(255,255,255,.055) !important;

	color: #fff !important;

	transition:
		background-color .16s ease,
		border-color .16s ease,
		transform .16s ease;
}


.ebf-socials
.wp-social-link:hover {
	transform:
		translateY(-2px);

	border-color:
		rgba(255,255,255,.30);

	background:
		rgba(255,255,255,.10) !important;
}


/* =========================================================
   MENU COLUMNS
========================================================= */

.ebf-column-title {
	margin-bottom:
		17px !important;

	color: #fff;

	font-size: 13px;
	line-height: 1.2;

	font-weight: 800;

	letter-spacing: .015em;
}


.ebf-menu {
	margin: 0 !important;
	padding: 0 !important;

	list-style: none !important;
}


.ebf-menu li {
	margin: 0 !important;
	padding: 0 !important;
}


.ebf-menu a {
	display: inline-flex;

	min-height: 31px;

	align-items: center;

	color:
		var(--ebf-muted);

	font-size: 12px;
	line-height: 1.35;

	font-weight: 500;

	text-decoration: none;

	transition:
		color .15s ease,
		transform .15s ease;
}


.ebf-menu a:hover {
	color: #fff;

	transform:
		translateX(2px);
}


/* =========================================================
   EUROPE / SHIPPING CARD
========================================================= */

.ebf-europe {
	padding:
		21px;

	border:
		1px solid
		var(--ebf-border);

	border-radius: 15px;

	background:
		var(--ebf-soft);
}


.ebf-europe__eyebrow {
	margin-bottom:
		8px !important;

	color:
		#bdebf4;

	font-size: 9.5px;
	line-height: 1;

	font-weight: 800;

	letter-spacing: .10em;

	text-transform: uppercase;
}


.ebf-europe h3 {
	margin-bottom:
		10px !important;

	color: #fff;

	font-size: 20px;
	line-height: 1.12;

	font-weight: 800;

	letter-spacing: -.018em;
}


.ebf-europe__copy {
	margin-bottom:
		18px !important;

	color:
		var(--ebf-muted);

	font-size: 11.5px;
	line-height: 1.55;
}


.ebf-europe__map {
	position: relative;

	height: 100px;

	margin-bottom:
		17px;

	border-radius: 11px;

	background:
		linear-gradient(
			135deg,
			rgba(18,185,217,.12),
			rgba(255,255,255,.035)
		);

	overflow: hidden;
}


.ebf-europe__map::before {
	content: "EU";

	position: absolute;

	top: 50%;
	left: 50%;

	transform:
		translate(-50%,-50%);

	color:
		rgba(255,255,255,.10);

	font-size: 74px;
	line-height: 1;

	font-weight: 900;

	letter-spacing: -.07em;
}


.ebf-europe__map::after {
	content: "";

	position: absolute;

	inset: 17px 23px;

	border:
		1px dashed
		rgba(189,235,244,.24);

	border-radius:
		48% 52% 45% 55% / 56% 45% 55% 44%;

	transform:
		rotate(-7deg);
}


.ebf-europe__link {
	display: inline-flex;

	align-items: center;

	gap: 8px;

	color: #fff;

	font-size: 11.5px;

	font-weight: 750;

	text-decoration: none;
}


.ebf-europe__link:hover {
	color:
		#bdebf4;
}


/* =========================================================
   LANGUAGES
========================================================= */

.ebf-languages {
	display: flex;

	flex-wrap: wrap;

	gap: 6px;

	margin-top: 18px;
}


.ebf-languages a {
	display: inline-flex;

	align-items: center;

	gap: 6px;

	min-height: 30px;

	padding:
		0 9px;

	border:
		1px solid
		var(--ebf-border);

	border-radius: 8px;

	background:
		rgba(255,255,255,.035);

	color:
		var(--ebf-muted);

	font-size: 10.5px;

	text-decoration: none;
}


.ebf-languages a:hover,
.ebf-languages a.is-active {
	border-color:
		rgba(255,255,255,.26);

	background:
		rgba(255,255,255,.08);

	color: #fff;
}


.ebf-languages small {
	color:
		rgba(255,255,255,.38);

	font-size: 8.5px;

	font-weight: 800;
}


/* =========================================================
   BOTTOM
========================================================= */

.ebf-bottom {
	border-top:
		1px solid
		var(--ebf-border);
}


.ebf-bottom__inner {
	min-height: 72px;

	display: flex !important;

	align-items: center;

	justify-content: space-between;

	gap: 28px;
}


.ebf-copyright {
	color:
		rgba(255,255,255,.48);

	font-size: 10.5px;
	line-height: 1.4;
}


.ebf-payments {
	display: flex;

	align-items: center;

	justify-content: flex-end;

	flex-wrap: wrap;

	gap: 6px;
}


.ebf-payments span {
	min-height: 27px;

	display: inline-flex;

	align-items: center;

	padding:
		0 8px;

	border:
		1px solid
		rgba(255,255,255,.13);

	border-radius: 6px;

	background:
		rgba(255,255,255,.045);

	color:
		rgba(255,255,255,.74);

	font-size: 8.5px;

	font-weight: 750;

	letter-spacing: .01em;
}


/* =========================================================
   EDITOR / ADMIN NOTICE
========================================================= */

.ebf-admin-notice {
	padding:
		8px 10px;

	border:
		1px dashed
		rgba(255,255,255,.3);

	border-radius: 7px;

	color: #fff;

	font-size: 11px;
}


/* =========================================================
   ACCESSIBILITY
========================================================= */

.ebf-footer
a:focus-visible {
	outline:
		2px solid
		var(--ebf-cyan);

	outline-offset: 3px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

	.ebf-main-grid {
		grid-template-columns:
			1.35fr
			1fr
			1fr;
	}


	.ebf-brand {
		grid-row:
			span 2;
	}


	.ebf-europe {
		grid-column:
			span 2;
	}


	.ebf-value-strip__inner {
		grid-template-columns:
			repeat(2,1fr);
	}


	.ebf-value:nth-child(2) {
		border-right: 0;
	}


	.ebf-value:nth-child(-n+2) {
		border-bottom:
			1px solid
			var(--ebf-border);
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.ebf-container {
		width:
			calc(100% - 28px) !important;
	}


	.ebf-value-strip__inner {
		grid-template-columns:
			1fr;
	}


	.ebf-value {
		border-right: 0 !important;

		border-bottom:
			1px solid
			var(--ebf-border);
	}


	.ebf-value:last-child {
		border-bottom: 0;
	}


	.ebf-main {
		padding:
			38px 0 28px;
	}


	.ebf-main-grid {
		grid-template-columns:
			1fr 1fr;

		gap:
			34px 22px;
	}


	.ebf-brand,
	.ebf-europe {
		grid-column:
			1 / -1;

		grid-row: auto;
	}


	.ebf-brand-copy {
		max-width: 100%;
	}


	.ebf-bottom__inner {
		min-height: 0;

		flex-direction: column;

		align-items: flex-start;

		padding:
			20px 0;

		gap: 14px;
	}


	.ebf-payments {
		justify-content:
			flex-start;
	}

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

	.ebf-main-grid {
		grid-template-columns:
			1fr;
	}


	.ebf-brand,
	.ebf-europe {
		grid-column: auto;
	}


	.ebf-column {
		padding-bottom:
			18px;

		border-bottom:
			1px solid
			var(--ebf-border);
	}


	.ebf-value {
		padding:
			14px 8px;
	}

}
