/* Elcogen Footer Base Styles */
.elcogen-footer {
	width: 100%;
}

/* Main Footer */
.elcogen-footer__container {
	max-width: var(--container-default);
	margin: 0 auto;
	width: 100%;
}

.elcogen-footer__logo-contact {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--spacing-baseline-32);
	margin-bottom: var(--spacing-baseline-48);
}

.elcogen-footer__logo {
	display: inline-block;
}

.elcogen-footer__logo img {
	display: block;
}

.elcogen-footer__contact {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
}

.elcogen-footer__contact-item {
	margin: 0;
	padding: 0 var(--spacing-baseline-16);
	position: relative;
	text-decoration: none;
	color: var(--color-text-primary);
}

.elcogen-footer__contact-item:first-child {
	padding-left: 0;
}

.elcogen-footer__contact-item:not(:first-child)::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 1rem;
	background-color: var(--color-text-primary);
}

.elcogen-footer__contact-item--phone {
	color: var(--color-text-primary);
	text-decoration: none;
	pointer-events: none;
	cursor: default;
}

.elcogen-footer__contact-item--location {
	color: var(--color-text-primary);
	text-decoration: none;
}

.elcogen-footer__contact-item--email {
	color: var(--color-cobalt-blue-400);
	text-decoration: underline !important;
	transition: var(--transition-color);
}

.elcogen-footer__contact-item--email:hover {
	color: var(--color-dark-neutral);
}

.elcogen-footer__contact-item--custom {
	display: inline-block;
	color: var(--color-text-primary);
}

.elcogen-footer__contact-item--custom p {
	margin: 0;
	display: inline;
}

.elcogen-footer__contact-item--custom a {
	color: var(--color-cobalt-blue-400);
	text-decoration: underline;
	transition: var(--transition-color);
}

.elcogen-footer__contact-item--custom a:hover {
	color: var(--color-dark-neutral);
}

/* Location with link */
a.elcogen-footer__contact-item--location {
	color: var(--color-cobalt-blue-400);
	text-decoration: underline;
	transition: var(--transition-color);
}

a.elcogen-footer__contact-item--location:hover {
	color: var(--color-dark-neutral);
}

/* Footer Columns */
.elcogen-footer__columns {
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-baseline-32);
}

.elcogen-footer__column {
	flex: 1 1 12.5rem;
	min-width: 0;
}

.elcogen-footer__column-title {
	margin: 0 0 var(--spacing-baseline-16) 0;
}

.elcogen-footer__column-nav {
	display: flex;
	flex-direction: column;
}

.elcogen-footer__column-link {
	text-decoration: underline;
	transition: var(--transition-color);
}

/* Social Column */
.elcogen-footer__social-nav {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-baseline-08);
}

.elcogen-footer__social-button {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-baseline-08);
	padding: var(--spacing-baseline-08) var(--spacing-baseline-16);
	background: transparent;
	border: 0.0938rem solid var(--color-dark-neutral);
	border-radius: var(--radius-pill);
	color: var(--color-dark-neutral);
	text-decoration: none;
	transition: var(--transition-all);
	width: fit-content;
}

.elcogen-footer__social-button:hover {
	color: var(--color-white);
	background-color: var(--color-cobalt-blue-400);
	border-color: var(--color-cobalt-blue-400);
	text-decoration: none;
}

.elcogen-footer__social-button:hover .elcogen-footer__social-name {
	color: var(--color-white);
}

.elcogen-footer__social-button:hover .elcogen-footer__social-icon {
	fill: var(--color-white);
}

.elcogen-footer__social-button:hover .elcogen-footer__external-icon {
	stroke: var(--color-white);
}

.elcogen-footer__social-icon-wrapper {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--spacing-baseline-24);
	height: var(--spacing-baseline-24);
	flex-shrink: 0;
}

.elcogen-footer__social-icon-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: brightness(0);
	transition: filter var(--transition-base);
}

.elcogen-footer__social-button:hover .elcogen-footer__social-icon-img {
	filter: brightness(0) invert(1);
}

.elcogen-footer__social-name {
	font-family: var(--font-family-body);
	font-weight: var(--font-weight-bold);
	font-size: var(--font-size-body-medium);
	line-height: var(--line-height-body-medium);
}

.elcogen-footer__social-icon {
	width: 1.25rem;
	height: 1.25rem;
	fill: var(--color-dark-neutral);
	transition: fill var(--transition-base);
}

.elcogen-footer__external-icon {
	width: 1.5rem;
	height: 1.5rem;
	flex-shrink: 0;
	stroke: var(--color-dark-neutral);
	transition: stroke var(--transition-base);
}

/* Bottom Section */
.elcogen-footer__bottom {
	border-top: 1px solid var(--color-neutral-200);
}

.elcogen-footer__disclaimer {
	margin: 0 0 var(--spacing-baseline-24) 0;
}

.elcogen-footer__disclaimer p {
	margin: 0;
}

.elcogen-footer__disclaimer p + p {
	margin-top: var(--spacing-baseline-08);
}

.elcogen-footer__certifications {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--spacing-baseline-24);
	margin-bottom: var(--spacing-baseline-24);
}

.elcogen-footer__cert-logo img {
	display: block;
}

.elcogen-footer__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--spacing-baseline-24);
	justify-content: end;
}

.elcogen-footer__legal-link {
	text-decoration: underline;
	transition: var(--transition-color);
}

/* Responsive Styles */
@media (max-width: 48rem) {
	.elcogen-footer__logo-contact {
		flex-direction: column;
		align-items: flex-start;
	}

	.elcogen-footer__contact {
		flex-direction: column;
		align-items: flex-start;
	}

	.elcogen-footer__columns {
		flex-direction: column;
	}

	.elcogen-footer__column {
		flex: 1 1 100%;
	}
}
