/* ==========================================================================
   MEGATECH — white corporate footer (COMPONENT-SPECS §9, RESPONSIVE §8)
   ≥1366: 4 benefits · 5 columns · contact+payments one row · bar one row
   1024–1365: 4 benefits · brand + 3 link columns, newsletter full width
   768–1023: benefits 2×2 · 2 columns · bar centred two lines
   ≤767: benefits 2×2 compact · single column, link groups as accordions
   ========================================================================== */

.mt-footer {
	margin-top: var(--mt-section-gap);
	padding-top: var(--mt-space-8);
	border-top: 1px solid var(--mt-footer-divider);
	background: var(--mt-footer-bg);
	color: var(--mt-footer-text);
	font-size: var(--mt-fs-md);
}

@media (min-width: 1024px) {
	.mt-footer {
		padding-top: var(--mt-space-12);
	}
}

.mt-footer a {
	color: var(--mt-footer-text);
	text-decoration: none;
	transition: color var(--mt-dur-fast) var(--mt-ease-standard);
}

.mt-footer a:hover {
	color: var(--mt-footer-link-hover);
	text-decoration: underline;
}

/* --------------------------------------------------------------------------
   1. Benefits band (C§9.2)
   ----------------------------------------------------------------------- */

.mt-footer__benefits {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--mt-space-4) var(--mt-space-3);
	padding: var(--mt-space-4);
	border-radius: var(--mt-radius-xl);
	background: var(--mt-footer-benefits-bg);
}

.mt-benefit {
	display: flex;
	align-items: center;
	gap: var(--mt-space-3);
	min-width: 0;
}

.mt-benefit__icon {
	width: 28px;
	height: 28px;
	color: var(--mt-color-primary);
}

.mt-benefit__body {
	min-width: 0;
}

.mt-benefit__title {
	margin: 0;
	color: var(--mt-text-heading);
	font-family: var(--mt-font-heading);
	font-size: var(--mt-fs-base);
	font-weight: var(--mt-fw-bold);
	line-height: var(--mt-lh-snug);
}

.mt-benefit__text {
	margin: 2px 0 0;
	color: var(--mt-footer-text);
	font-size: var(--mt-fs-xs);
	line-height: 1.4;
}

.mt-benefit__text a {
	text-decoration: underline;
}

@media (min-width: 768px) {
	.mt-footer__benefits {
		gap: var(--mt-space-5) var(--mt-space-6);
		padding: var(--mt-space-6);
	}
	.mt-benefit__icon {
		width: 32px;
		height: 32px;
	}
	.mt-benefit__title {
		font-size: var(--mt-fs-lg);
	}
	.mt-benefit__text {
		font-size: var(--mt-fs-sm);
	}
}

@media (min-width: 1024px) {
	.mt-footer__benefits {
		grid-template-columns: repeat(var(--mt-benefit-count, 4), minmax(0, 1fr));
		gap: 0;
		padding: var(--mt-space-6) var(--mt-space-8);
	}
	.mt-benefit {
		position: relative;
		justify-content: center;
		gap: var(--mt-space-4);
		padding-inline: var(--mt-space-4);
	}
	.mt-benefit + .mt-benefit::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 1px;
		height: 48px;
		background: var(--mt-footer-divider);
		transform: translateY(-50%);
	}
}

@media (min-width: 1366px) {
	.mt-benefit__icon {
		width: var(--mt-icon-2xl);
		height: var(--mt-icon-2xl);
	}
	.mt-benefit__title {
		font-size: var(--mt-fs-xl);
	}
	.mt-benefit__text {
		font-size: var(--mt-fs-base);
	}
}

/* --------------------------------------------------------------------------
   2. Main area (C§9.3)
   ----------------------------------------------------------------------- */

.mt-footer__main {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	padding-block: var(--mt-space-8) var(--mt-space-4);
}

.mt-footer__brand {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--mt-space-4);
	padding-bottom: var(--mt-space-6);
	text-align: center;
}

.mt-footer .mt-logo img.mt-logo__img {
	height: 48px;
	max-width: 100%;
}

.mt-footer__desc {
	max-width: 46ch;
	margin: 0;
	color: var(--mt-footer-text);
	font-size: var(--mt-fs-md);
	line-height: 1.6;
}

/* Social buttons */
.mt-social {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--mt-space-3);
}

.mt-social__link {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border: 1px solid var(--mt-footer-divider);
	border-radius: var(--mt-radius-lg);
	background: var(--mt-bg-surface);
	color: var(--mt-gray-900) !important;
	transition:
		border-color var(--mt-dur-fast) var(--mt-ease-standard),
		color var(--mt-dur-fast) var(--mt-ease-standard);
}

.mt-social__link:hover {
	border-color: var(--mt-color-primary);
	color: var(--mt-color-primary) !important;
}

/* Column title pattern: green bar + Jakarta (C§20.2) */
.mt-footer__title {
	display: flex;
	align-items: center;
	gap: var(--mt-space-3);
	margin: 0;
	color: var(--mt-footer-heading);
	font-family: var(--mt-font-heading);
	font-size: var(--mt-fs-xl);
	font-weight: var(--mt-fw-bold);
	line-height: var(--mt-lh-snug);
	letter-spacing: var(--mt-ls-tight);
}

.mt-footer__title > span,
.mt-footer__title--static {
	display: flex;
	align-items: center;
	gap: var(--mt-space-3);
}

.mt-footer__title > span::before,
.mt-footer__title--static::before {
	content: "";
	flex: 0 0 4px;
	height: 20px;
	border-radius: 2px;
	background: var(--mt-color-primary);
}

/* Link columns: accordion on mobile (details/summary) */
.mt-footer__col {
	border-top: 1px solid var(--mt-footer-divider);
}

.mt-footer__col > summary {
	justify-content: space-between;
	min-height: 52px;
	list-style: none;
	cursor: pointer;
}

.mt-footer__col > summary::-webkit-details-marker {
	display: none;
}

.mt-footer__col > summary:focus-visible {
	outline: 2px solid var(--mt-border-focus);
	outline-offset: -2px;
	border-radius: var(--mt-radius-sm);
}

.mt-footer__chevron {
	color: var(--mt-text-secondary);
	transition: transform var(--mt-dur-base) var(--mt-ease-standard);
}

.mt-footer__col[open] .mt-footer__chevron {
	transform: rotate(180deg);
}

.mt-footer__links {
	padding-bottom: var(--mt-space-3);
}

.mt-footer__links a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	font-size: var(--mt-fs-md);
	line-height: 1.5;
}

/* Newsletter */
.mt-footer__newsletter {
	display: flex;
	flex-direction: column;
	gap: var(--mt-space-3);
	padding-top: var(--mt-space-6);
	border-top: 1px solid var(--mt-footer-divider);
}

.mt-newsletter {
	display: flex;
	flex-direction: column;
	gap: var(--mt-space-3);
}

.mt-newsletter__group {
	position: relative;
	display: flex;
	align-items: center;
	height: 56px;
	padding: 4px;
	border: 1px solid var(--mt-border-default);
	border-radius: var(--mt-radius-pill);
	background: var(--mt-bg-surface);
	box-shadow: var(--mt-shadow-xs);
	transition:
		border-color var(--mt-dur-fast) var(--mt-ease-standard),
		box-shadow var(--mt-dur-fast) var(--mt-ease-standard);
}

.mt-newsletter__group:focus-within {
	border-color: var(--mt-border-focus);
	box-shadow: var(--mt-focus-ring);
}

.mt-newsletter__group.is-invalid {
	border-color: var(--mt-danger);
}

.mt-newsletter__icon {
	position: absolute;
	left: var(--mt-space-4);
	color: var(--mt-text-heading);
	pointer-events: none;
}

.mt-newsletter__input {
	flex: 1;
	width: 0; /* no intrinsic 20ch min-content width */
	min-width: 0;
	height: 100%;
	padding: 0 var(--mt-space-2) 0 calc(var(--mt-space-4) + 20px + var(--mt-space-3));
	border: 0;
	border-radius: var(--mt-radius-pill);
	background: transparent;
	font-size: 1rem;
	outline: none;
}

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

.mt-newsletter__btn {
	flex: 0 0 auto;
	height: 100%;
	min-height: 0;
	padding: 0 var(--mt-space-5);
	font-size: var(--mt-fs-lg);
}

.mt-newsletter .mt-consent {
	font-size: var(--mt-fs-sm);
	color: var(--mt-footer-text);
}

.mt-newsletter__note {
	margin: 0;
	color: var(--mt-text-muted);
	font-size: var(--mt-fs-xs);
}

.mt-newsletter__note a {
	color: var(--mt-color-primary-strong) !important;
	text-decoration: underline;
}

.mt-newsletter__status:empty {
	display: none;
}

.mt-newsletter__status .mt-notice {
	margin: 0;
}

/* Tablet 768–1023: brand full width → link columns 2 per row → newsletter */
@media (min-width: 768px) {
	.mt-footer__main {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--mt-space-8) var(--mt-space-8);
		padding-block: var(--mt-space-10) var(--mt-space-8);
	}
	.mt-footer__brand {
		grid-column: 1 / -1;
		align-items: flex-start;
		padding-bottom: 0;
		text-align: left;
	}
	.mt-footer .mt-logo img.mt-logo__img {
		height: 56px;
	}
	.mt-social {
		justify-content: flex-start;
	}
	.mt-footer__col {
		border-top: 0;
	}
	.mt-footer__col > summary {
		min-height: 0;
		margin-bottom: var(--mt-space-3);
		cursor: default;
		pointer-events: none;
	}
	.mt-footer__chevron {
		display: none;
	}
	.mt-footer__links {
		padding-bottom: 0;
	}
	.mt-footer__newsletter {
		grid-column: 1 / -1;
		padding-top: 0;
		border-top: 0;
	}
	.mt-newsletter {
		max-width: 560px;
	}
}

/* Laptop 1024–1365: brand + link columns in one row; newsletter full row.
   Flex (not a fixed grid) so the row stays balanced when a menu column is
   hidden (e.g. all its pages are still drafts). */
@media (min-width: 1024px) {
	.mt-footer__main {
		display: flex;
		flex-wrap: wrap;
		gap: var(--mt-space-8) 0;
	}
	.mt-footer__brand {
		flex: 1.4 1 0;
		min-width: 0;
		padding-right: var(--mt-space-6);
	}
	.mt-footer__col {
		flex: 1.1 1 0;
		min-width: 0;
		padding-inline: var(--mt-space-6);
		border-left: 1px solid var(--mt-footer-divider);
	}
	.mt-footer__title {
		font-size: var(--mt-fs-xl);
	}
	.mt-footer__newsletter {
		flex: 1 0 100%;
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 520px);
		align-items: start;
		gap: var(--mt-space-3) var(--mt-space-8);
		padding-top: var(--mt-space-8);
		border-top: 1px solid var(--mt-footer-divider);
	}
	.mt-footer__newsletter > .mt-footer__title,
	.mt-footer__newsletter > .mt-footer__desc {
		grid-column: 1;
	}
	.mt-footer__newsletter > .mt-newsletter {
		grid-column: 2;
		grid-row: 1 / span 3;
		max-width: none;
	}
}

/* Desktop ≥1366: brand · link columns · newsletter in one row */
@media (min-width: 1366px) {
	.mt-footer__main {
		flex-wrap: nowrap;
	}
	.mt-footer .mt-logo img.mt-logo__img {
		height: 64px;
	}
	.mt-footer__desc {
		font-size: var(--mt-fs-lg);
	}
	.mt-footer__brand {
		flex: 1.45 1 0;
	}
	.mt-footer__col {
		flex: 1 1 0;
		padding-inline: var(--mt-space-5);
	}
	.mt-footer__title {
		font-size: var(--mt-fs-xl);
		white-space: nowrap;
	}
	.mt-footer__links a {
		font-size: var(--mt-fs-lg);
	}
	.mt-social {
		flex-wrap: nowrap;
		gap: var(--mt-space-2);
	}
	.mt-newsletter__btn {
		padding-inline: var(--mt-space-4);
		font-size: var(--mt-fs-md);
	}
	.mt-footer__newsletter {
		flex: 1.75 1 0;
		display: flex;
		align-items: stretch;
		min-width: 0;
		padding: 0 0 0 var(--mt-space-6);
		border-top: 0;
		border-left: 1px solid var(--mt-footer-divider);
	}
	.mt-footer__newsletter .mt-footer__title {
		white-space: normal;
	}
}

@media (min-width: 1600px) {
	.mt-footer__title {
		font-size: var(--mt-fs-2xl);
	}
	.mt-footer__col {
		padding-inline: var(--mt-space-8);
	}
}

/* --------------------------------------------------------------------------
   3. Contact & payments (C§9.4)
   ----------------------------------------------------------------------- */

.mt-footer__contact-row {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--mt-space-5);
	padding-block: var(--mt-space-6);
	border-top: 1px solid var(--mt-footer-divider);
}

.mt-footer__contact {
	display: flex;
	flex-direction: column;
	gap: var(--mt-space-3);
	width: 100%;
}

.mt-footer__contact li {
	display: flex;
	align-items: center;
	gap: var(--mt-space-3);
	color: var(--mt-text-heading);
	font-size: var(--mt-fs-md);
	font-weight: var(--mt-fw-medium);
}

.mt-footer__contact a {
	color: var(--mt-text-heading);
}

.mt-footer__contact-icon {
	color: var(--mt-color-primary);
}

.mt-footer__payments {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--mt-space-4) var(--mt-space-6);
}

.mt-pay {
	display: flex;
	align-items: center;
	color: var(--mt-text-heading);
}

.mt-pay img {
	width: auto;
	height: 28px;
}

.mt-pay .mt-icon {
	width: 36px;
	height: 36px;
}

.mt-pay__text {
	padding: 4px 10px;
	border: 1px solid var(--mt-footer-divider);
	border-radius: var(--mt-radius-sm);
	font-weight: var(--mt-fw-bold);
}

.mt-pay--3ds {
	gap: var(--mt-space-2);
}

.mt-pay--3ds .mt-icon {
	color: var(--mt-color-primary);
}

.mt-pay--3ds span {
	display: flex;
	flex-direction: column;
	font-size: var(--mt-fs-sm);
	line-height: 1.2;
}

.mt-pay--3ds small {
	color: var(--mt-footer-text);
	font-size: var(--mt-fs-xs);
}

.mt-footer__seller {
	margin: 0;
	padding-bottom: var(--mt-space-5);
	color: var(--mt-text-muted);
	font-size: var(--mt-fs-sm);
	text-align: center;
}

@media (min-width: 768px) {
	.mt-footer__contact {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--mt-space-4) var(--mt-space-8);
	}
}

@media (min-width: 1024px) {
	.mt-footer__contact {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: var(--mt-space-4) var(--mt-space-10);
	}
	.mt-footer__payments {
		justify-content: flex-start;
		width: 100%;
	}
	.mt-footer__contact-row {
		align-items: flex-start;
	}
	.mt-footer__seller {
		text-align: left;
	}
}

@media (min-width: 1366px) {
	.mt-footer__contact-row {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
	.mt-footer__contact {
		flex: 1;
		width: auto;
	}
	.mt-footer__contact li {
		font-size: 1.0625rem;
	}
	.mt-footer__payments {
		flex: 0 0 auto;
		justify-content: flex-end;
		width: auto;
		padding-left: var(--mt-space-8);
		border-left: 1px solid var(--mt-footer-divider);
	}
	.mt-pay img {
		height: 32px;
	}
}

/* --------------------------------------------------------------------------
   4. Bottom bar (C§9.5) — full width dark anthracite
   ----------------------------------------------------------------------- */

.mt-footer__bar {
	background: var(--mt-footer-bar-bg);
	color: var(--mt-footer-bar-text);
	font-size: var(--mt-fs-sm);
}

.mt-footer__bar-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--mt-space-2);
	min-height: 56px;
	padding-block: var(--mt-space-4);
	text-align: center;
}

.mt-footer__copy {
	margin: 0;
}

.mt-footer__legal {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--mt-space-1) 0;
}

.mt-footer__legal li {
	display: flex;
	align-items: center;
}

.mt-footer__legal li + li::before {
	content: "|";
	margin-inline: var(--mt-space-3);
	opacity: 0.4;
}

.mt-footer .mt-footer__legal a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	color: var(--mt-footer-bar-text);
}

.mt-footer .mt-footer__legal a:hover {
	color: var(--mt-white);
	text-decoration: underline;
}

@media (min-width: 1024px) {
	.mt-footer__bar {
		font-size: var(--mt-fs-md);
	}
	.mt-footer__bar-inner {
		flex-direction: row;
		justify-content: space-between;
		padding-block: var(--mt-space-2);
		text-align: left;
	}
}
