/* =========================================================================
   Twinco Footer — port of components/sections/Footer.tsx
   ========================================================================= */
.elementor-widget-twinco_footer .elementor-widget-container { padding: 0; }

.twinco-footer {
	position: relative;
	width: 100%;
	overflow: hidden;
	background-color: var(--twinco-ink);
	font-family: var(--twinco-font-sans);
}
.twinco-footer__frame {
	position: relative;
	margin-inline: auto;
	width: 100%;
	max-width: 1440px;
	overflow: hidden;
	padding: 70px 80px;
}
.twinco-footer__wave {
	pointer-events: none;
	position: absolute;
	left: 692px;
	top: 4px;
	height: 369px;
	width: 1051.397px;
	max-width: none;
}

.twinco-footer__content {
	position: relative;
	display: flex;
	width: 100%;
	flex-direction: column;
	align-items: flex-start;
	gap: 50px;
}
.twinco-footer__links {
	display: flex;
	width: 100%;
	align-items: flex-start;
	gap: 150px;
}

/* ---- Company ---- */
.twinco-footer__company {
	display: flex;
	width: 388px;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}
.twinco-footer__company-top {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}
.twinco-footer__slogan {
	position: relative;
	height: 50px;
	width: 249.286px;
	flex-shrink: 0;
}
.twinco-footer__slogan-part { position: absolute; }
.twinco-footer__slogan .twinco-footer__slogan-part img { display: block; width: 100%; height: 100%; }
.twinco-footer__slogan-img { display: block; height: 50px; width: auto; }
.twinco-footer__tagline {
	font-size: 20px;
	line-height: 32.5px;
	color: #fff;
	word-break: break-word;
	font-weight: 400;
}
.twinco-footer__tagline-bold { font-weight: 600; }
.twinco-footer__summary {
	font-size: var(--twinco-text-body);
	font-weight: 400;
	line-height: 1.3;
	color: rgba(255, 255, 255, 0.55);
	word-break: break-word;
}

/* ---- Link columns ---- */
.twinco-footer__cols {
	display: flex;
	align-items: flex-start;
	gap: 150px;
}
.twinco-footer__col {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	word-break: break-word;
}
.twinco-footer__col--explore { width: 119px; }
.twinco-footer__col--contact { width: 147px; }
.twinco-footer__col-title {
	font-size: var(--twinco-text-title);
	font-weight: 600;
	line-height: 24px;
	color: var(--twinco-gold);
}
.twinco-footer__col-list {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	font-size: var(--twinco-text-body);
	font-weight: 400;
	line-height: 24px;
	color: #fff;
}
.twinco-footer__col-list a,
.twinco-footer__col-list button {
	color: #fff;
	text-decoration: none;
	transition: opacity 0.2s ease;
	text-align: left;
}
.twinco-footer__col--explore .twinco-footer__col-list a { width: 100%; }
.twinco-footer__col--contact .twinco-footer__col-list a,
.twinco-footer__col--contact .twinco-footer__col-list button { white-space: nowrap; }
.twinco-footer__col-list a:hover,
.twinco-footer__col-list button:hover { opacity: 0.8; }

/* ---- Bottom bar ---- */
.twinco-footer__bottom {
	display: flex;
	height: 49px;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	padding-top: 28px;
}
.twinco-footer__copy {
	white-space: nowrap;
	font-size: var(--twinco-text-label);
	font-weight: 400;
	line-height: 20px;
	color: rgba(255, 255, 255, 0.55);
}
.twinco-footer__legal {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: var(--twinco-text-label);
	font-weight: 400;
	line-height: 20px;
}
.twinco-footer__legal-item { display: flex; align-items: center; gap: 12px; }
.twinco-footer__legal-sep { color: rgba(255, 255, 255, 0.25); }
.twinco-footer__legal a {
	white-space: nowrap;
	color: rgba(255, 255, 255, 0.55);
	text-decoration: none;
	transition: color 0.2s ease;
}
.twinco-footer__legal a:hover { color: #fff; }
.twinco-footer__credit {
	white-space: nowrap;
	text-align: right;
	font-size: var(--twinco-text-label);
	font-weight: 400;
	line-height: 20px;
	color: rgba(255, 255, 255, 0.55);
	text-decoration: none;
	transition: color 0.2s ease;
}
.twinco-footer__credit:hover { color: #fff; }

/* ---- Responsive ---- */
@media (max-width: 1023.98px) {
	.twinco-footer__links { flex-direction: column; gap: 32px; }
	.twinco-footer__company { width: 100%; }
	.twinco-footer__cols { width: 100%; gap: 48px; }
}
@media (max-width: 767.98px) {
	.twinco-footer__frame { padding: 48px 24px; }
	.twinco-footer__bottom {
		height: auto;
		flex-direction: column;
		align-items: center;
		gap: 16px;
		text-align: center;
	}
}
@media (max-width: 639.98px) {
	.twinco-footer__frame { padding-left: 16px; padding-right: 16px; }
	.twinco-footer__cols { gap: 24px; }
}
