/* Site footer — Tripex footer-v3 layout (light surface) */

.site-footer--v3 {
	position: relative;
	z-index: 1;
	margin-top: auto;
	color: var(--color-text-secondary);
	background-color: var(--surface-grey-muted);
}

.site-footer--v3 a {
	color: var(--color-text-primary);
	text-decoration: none;
	transition: color var(--duration-fast) var(--ease-default);
}

.site-footer--v3 a:hover {
	color: var(--color-brand-primary);
}

/* Widget area */
.footer-widget-area {
	padding-block: var(--padding-2xl) var(--padding-xl);
}

.footer-widget-area__grid {
	display: grid;
	gap: var(--gap-grid-col-xl);
	grid-template-columns: minmax(0, 1fr);
}

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

@media (min-width: 1200px) {
	.footer-widget-area__grid {
		grid-template-columns: 1.15fr 0.9fr 0.95fr 1fr;
	}
}

.footer-widget {
	margin: 0;
}

.footer-widget__title {
	margin: 0 0 var(--space-stack-md);
	font: var(--type-label-lg);
	font-weight: var(--font-weight-semibold);
	color: var(--color-text-primary);
}

.footer-widget__text {
	margin: 0 0 var(--space-stack-md);
	font: var(--type-body-sm);
	line-height: var(--line-height-relaxed);
	color: var(--color-text-secondary);
	max-width: 36ch;
}

@media (min-width: 1200px) {
	.footer-widget--links {
		padding-left: var(--padding-lg);
	}
}

/* Social box */
.footer-social-box {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap-inline-sm);
	margin-top: var(--space-stack-md);
}

.footer-social-box__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--control-height, 2.5rem);
	height: var(--control-height, 2.5rem);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-pill);
	color: var(--color-text-secondary);
	background-color: var(--surface-grey-default);
}

.footer-social-box__icon {
	display: block;
	width: var(--icon-size-sm);
	height: var(--icon-size-sm);
}

.footer-social-box__fallback {
	font: var(--type-caption);
	font-weight: var(--font-weight-semibold);
}

.footer-social-box__link:hover {
	color: var(--color-text-inverse);
	background-color: var(--color-brand-secondary);
	border-color: transparent;
}

/* Quick links */
.footer-nav {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: var(--gap-inline-md);
}

.footer-nav a {
	font: var(--type-body-sm);
	color: var(--color-text-secondary);
}

.footer-nav a:hover {
	color: var(--color-text-primary);
}

/* Support contact boxes */
.footer-contact-box {
	margin-bottom: var(--space-stack-md);
}

.footer-contact-box__label {
	display: inline-flex;
	align-items: center;
	gap: var(--gap-inline-xs);
	margin-bottom: var(--space-stack-xs);
	font: var(--type-caption);
	color: var(--color-text-muted);
}

.footer-contact-box__icon {
	flex-shrink: 0;
	color: var(--color-brand-primary);
}

.footer-contact-box__value {
	margin: 0;
	font: var(--type-body);
	font-weight: var(--font-weight-semibold);
}

.footer-contact-box__value a {
	color: var(--color-text-primary);
}

/* Newsletter */
.footer-newsletter__group {
	position: relative;
	margin-top: var(--space-stack-sm);
	max-width: 22rem;
}

.footer-newsletter__input {
	width: 100%;
	min-height: var(--control-height-lg, 3rem);
	padding: var(--padding-sm) calc(var(--control-height, 2.5rem) + var(--padding-md)) var(--padding-sm)
		var(--padding-lg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-pill);
	background-color: var(--surface-grey-default);
	color: var(--color-text-primary);
	font: var(--type-body-sm);
}

.footer-newsletter__input::placeholder {
	color: var(--color-text-muted);
}

.footer-newsletter__input:focus {
	outline: none;
	border-color: var(--color-brand-primary);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-brand-primary) 25%, transparent);
}

.footer-newsletter__submit {
	position: absolute;
	top: 50%;
	right: var(--space-xs);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: calc(var(--control-height, 2.5rem) - var(--space-xs));
	height: calc(var(--control-height, 2.5rem) - var(--space-xs));
	padding: 0;
	border: none;
	border-radius: var(--radius-pill);
	color: var(--color-text-inverse);
	background-color: var(--color-brand-secondary);
	cursor: pointer;
	transform: translateY(-50%);
	transition: background-color var(--duration-fast) var(--ease-default);
}

.footer-newsletter__submit:hover {
	background-color: var(--color-brand-secondary-hover, var(--color-brand-secondary));
}

/* Copyright */
.copyright-area {
	padding-block: var(--padding-lg);
	border-top: 1px solid var(--color-border);
	background-color: color-mix(in srgb, var(--surface-grey-muted) 88%, var(--surface-grey-subtle));
}

.copyright-area__grid {
	display: flex;
	flex-direction: column;
	gap: var(--gap-stack-md);
}

@media (min-width: 768px) {
	.copyright-area__grid {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

.copyright-area__text p {
	margin: 0;
	font: var(--type-caption);
	color: var(--color-text-muted);
}

.copyright-area__nav {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap-inline-md);
}

.copyright-area__nav a {
	font: var(--type-caption);
	font-weight: var(--font-weight-medium);
	color: var(--color-text-secondary);
}

.copyright-area__nav a:hover {
	color: var(--color-text-primary);
}

/* Main padding when footer follows transparent header home */
.has-transparent-header .site-main + .site-footer--v3,
.has-transparent-header .site-footer--v3 {
	margin-top: 0;
}
