/**
 * Footer: deep teal gradient, accent titles, animated links.
 */

#footer.footer {
	position: relative;
	isolation: isolate;
	/* top strip in the logo colors: cyan stem, pink bowl, sloped junction */
	background:
		var(--b3d-strip) top / 100% 4px no-repeat,
		linear-gradient(160deg, #002f42 0%, #003e56 55%, #005468 100%) !important;
	overflow: hidden;
}

/* Large white logo "b" in the corner (never mirrored) */
#footer.footer::before {
	content: "";
	position: absolute;
	z-index: -1;
	right: -40px;
	bottom: -120px;
	width: 300px;
	aspect-ratio: 249 / 482;
	background: #fff;
	-webkit-mask: var(--b3d-mark) center / contain no-repeat;
	mask: var(--b3d-mark) center / contain no-repeat;
	opacity: .05;
	pointer-events: none;
}

#footer .widget-title,
#footer .widget-info h5 {
	position: relative;
	padding-bottom: 12px;
	margin-bottom: 20px !important;
	color: var(--b3d-cyan) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: .14em;
	text-transform: uppercase;
}

/* Stem + bowl blades under every column title */
#footer .widget-title::after,
#footer .widget-info h5::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 38px;
	height: 3px;
	background: linear-gradient(90deg, var(--b3d-logo-cyan) 0 24px, transparent 24px 28px, var(--b3d-pink) 28px 38px);
	transform: var(--b3d-blade-skew);
	transform-origin: left bottom;
}

#footer .widget-info h5 {
	margin-top: 28px;
	color: var(--b3d-cyan) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: .14em;
	text-transform: uppercase;
}

#footer .widget-info br:has(+ h5) {
	display: none;
}

#footer .widget,
#footer .widget p {
	color: rgba(255, 255, 255, .78) !important;
	line-height: 1.8;
}

#footer .widget a:not(.soc-ico a):not([class*="soc"]) {
	color: #fff !important;
	text-decoration: none !important;
	background: linear-gradient(var(--b3d-cyan), var(--b3d-cyan)) 0 100% / 0 1px no-repeat;
	transition: background-size var(--b3d-dur) var(--b3d-ease), color var(--b3d-dur-fast);
}

#footer .widget a:not(.soc-ico a):not([class*="soc"]):hover {
	color: var(--b3d-cyan) !important;
	background-size: 100% 1px;
}

/* Social icons */
#footer .soc-ico a {
	border-radius: 50% !important;
	transition: transform var(--b3d-dur) var(--b3d-ease-spring), background-color var(--b3d-dur-fast) !important;
}

#footer .soc-ico a:hover {
	transform: translateY(-3px) scale(1.08);
}

/* Hover fills alternate between the two logo colors */
#footer .soc-ico a:hover::before,
#footer .soc-ico a:hover::after {
	background: var(--b3d-logo-cyan) !important;
}

#footer .soc-ico a:nth-of-type(even):hover::before,
#footer .soc-ico a:nth-of-type(even):hover::after {
	background: var(--b3d-pink) !important;
}

#footer .soc-ico a:hover .soc-font-icon {
	color: var(--b3d-ink) !important;
}

/* Newsletter inside footer */
#page #footer :is(input[type="email"], input[type="text"]) {
	background: rgba(255, 255, 255, .08) !important;
	border-color: rgba(255, 255, 255, .18) !important;
	color: #fff !important;
}

/* footer submit: primary look from buttons.css, compact */
#footer :is(input[type="submit"], button[type="submit"], .tnp-submit) {
	padding: 12px 22px !important;
	font-size: 15px !important;
}

/* Bottom bar */
#bottom-bar {
	background: #002636 !important;
	border-top: 1px solid rgba(255, 255, 255, .08);
}

#bottom-bar,
#bottom-bar a {
	color: rgba(255, 255, 255, .6) !important;
}

#bottom-bar a {
	color: #fff !important;
	font-weight: 600;
	text-decoration: none !important;
	background: var(--b3d-gradient-text) 0 100% / 0 1px no-repeat;
	transition: background-size var(--b3d-dur) var(--b3d-ease), color var(--b3d-dur-fast);
}

#bottom-bar a:hover {
	color: var(--b3d-cyan) !important;
	background-size: 100% 1px;
}

#page #footer :is(input[type="email"], input[type="text"])::placeholder {
	color: rgba(255, 255, 255, .5);
}

/* Impressum / Privacy Policy links after the copyright (The7 option bottom_bar-copyrights) */
#bottom-bar .b3d-legal-links {
	margin-left: 12px;
	white-space: nowrap;
}

#bottom-bar .b3d-legal-links a {
	font-weight: 500;
}
