.ab-footer-wrap {
	--ab-red: #d10d14;
	--ab-black: #111319;
	--ab-gray: #85878b;
	--ab-soft: #fff1f1;
	font-family: 'Inter', Arial, sans-serif;
	color: var(--ab-black);
}

.ab-footer-wrap * {
	box-sizing: border-box
}

.ab-footer-wrap ul {
	list-style: none;
	margin: 0;
	padding: 0
}

.ab-footer-wrap a,
.ab-footer-wrap a:hover,
.ab-footer-wrap a:focus,
.ab-footer-wrap a:visited {
	text-decoration: none !important;
	box-shadow: none !important
}

.ab-footer-wrap button {
	text-decoration: none !important
}

.ab-footer-wrap .ab-container {
	width: min(1440px, calc(100% - 76px));
	margin: auto
}

/* ==================== DESKTOP TOP SECTION ==================== */
.ab-footer-top {
	position: relative;
	background-color: #f7f4f4;
	background-size: cover;
	background-position: bottom center;
	background-repeat: no-repeat;
}

.ab-footer-top:before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, #ffffff 0%, #ffffffee 35%, #ffffffcc 100%);
	pointer-events: none
}

.ab-footer-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1fr 1.25fr;
	gap: 40px;
	padding: 60px 0 55px
}

.ab-f-col h4, .ab-f-col .ab-f-title {
	position: relative;
	margin: 0 0 20px;
	padding-bottom: 14px;
	font-size: 20px;
	font-weight: 800;
	color: #111 !important
}

.ab-f-col h4:after, .ab-f-col .ab-f-title:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 32px;
	height: 3px;
	background: var(--ab-red)
}

.ab-f-col ul li {
	border-bottom: 1px dashed #e2dede;
}

.ab-f-col ul li:last-child {
	border-bottom: 0
}

.ab-f-col ul a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 0;
	color: #333 !important;
	font-size: 15px;
	font-weight: 500;
	transition: color .2s ease, gap .2s ease
}

.ab-f-col ul a i {
	color: var(--ab-red);
	font-size: 11px;
	flex: 0 0 auto
}

.ab-f-col ul a:hover {
	color: var(--ab-red) !important;
	gap: 14px
}

/* Logo + about + features */
.ab-f-logo {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 18px
}

.ab-f-logo-img {
	max-height: 68px;
	width: auto
}

.ab-f-logo-mark {
	width: 60px;
	height: 52px;
	display: grid;
	place-items: center;
	position: relative;
	font-size: 28px;
	font-weight: 900;
	font-style: italic;
	letter-spacing: -7px;
	text-shadow: -4px 0 var(--ab-black);
	color: var(--ab-red)
}

.ab-f-logo-text {
	display: flex;
	flex-direction: column;
	line-height: 1
}

.ab-f-logo-text b {
	font-size: 19px;
	color: #111 !important;
	font-weight: 800
}

.ab-f-logo-text strong {
	font-size: 12px;
	color: var(--ab-red) !important;
	letter-spacing: 4px;
	margin-top: 4px;
	font-weight: 700
}

.ab-f-desc {
	margin: 0 0 22px;
	font-size: 14.5px;
	line-height: 1.7;
	color: #5c5c62 !important;
	max-width: 340px
}

.ab-f-features {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	max-width: 400px
}

.ab-f-feature {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px
}

.ab-f-mi {
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	border-radius: 12px;
	background: var(--ab-soft);
	display: grid;
	place-items: center;
	color: var(--ab-red) !important;
	font-size: 17px
}

.ab-f-feature span:last-child {
	font-size: 12px;
	font-weight: 700;
	color: #222 !important;
	line-height: 1.3
}

/* Contact column */
.ab-f-contact-col {
	display: flex;
	flex-direction: column;
	gap: 14px
}

.ab-f-cinfo {
	display: flex;
	align-items: center;
	gap: 13px;
	color: #111 !important
}

.ab-f-mi-solid {
	width: 38px;
	height: 38px;
	flex: 0 0 38px;
	border-radius: 10px;
	background: var(--ab-red);
	display: grid;
	place-items: center;
	color: #fff !important;
	font-size: 15px
}

.ab-f-cinfo b {
	display: block;
	font-size: 14.5px;
	font-weight: 700;
	color: #111 !important
}

.ab-f-cinfo small {
	display: block;
	font-size: 12.5px;
	font-weight: 400;
	color: #909196 !important;
	margin-top: 2px
}

.ab-f-social {
	display: flex;
	gap: 10px;
	margin-top: 6px
}

.ab-f-social a {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	color: #fff !important;
	font-size: 14px;
	transition: transform .2s ease
}

.ab-f-social a:hover {
	transform: translateY(-3px)
}

.ab-f-fb { background: #2864bc }
.ab-f-ig { background: linear-gradient(135deg, #f8d253, #ef2b62, #7138a4) }
.ab-f-in { background: #1479ac }
.ab-f-yt { background: #df0008 }
.ab-f-wa { background: #25d366 }
.ab-f-pin { background: #b30d18 }

/* ==================== BOTTOM BAR ==================== */
.ab-footer-bottom {
	background: var(--ab-black)
}

.ab-footer-bottom-inner {
	min-height: 68px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	padding: 16px 0
}

.ab-f-copy {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	font-size: 13.5px;
	color: #cfcfd2 !important
}

.ab-f-copy a {
	color: #cfcfd2 !important;
	transition: color .2s ease
}

.ab-f-copy a:hover {
	color: #fff !important
}

.ab-f-sep {
	color: #55565c
}

/* ==================== MOBILE ==================== */
.ab-f-m-top,
.ab-f-m-body {
	display: none
}

@media(max-width:1200px) {
	.ab-footer-grid {
		grid-template-columns: 1fr 1fr 1fr;
		row-gap: 40px
	}

	.ab-f-about {
		grid-column: 1 / -1
	}

	.ab-f-contact-col {
		grid-column: 1 / -1;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 26px;
		align-items: flex-start
	}

	.ab-f-social {
		width: 100%;
		margin-top: 0
	}
}

@media(max-width:900px) {

	.ab-footer-top,
	.ab-footer-bottom {
		display: none
	}

	.ab-footer-wrap .ab-container {
		width: calc(100% - 36px)
	}

	.ab-f-m-top {
		display: block;
		position: relative;
		padding: 34px 18px 46px;
		text-align: center;
		background-color: #f7f4f4;
		background-size: cover;
		background-position: bottom center;
		background-repeat: no-repeat;
		overflow: hidden
	}

	.ab-f-m-top:before {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(180deg, #ffffff 0%, #ffffffee 40%, #ffffffb3 100%);
		pointer-events: none
	}

	.ab-f-m-logo,
	.ab-f-m-desc,
	.ab-f-m-features {
		position: relative;
		z-index: 1
	}

	.ab-f-m-logo {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		margin-bottom: 14px
	}

	.ab-f-m-logo-img {
		max-height: 52px;
		width: auto
	}

	.ab-f-m-mark {
		font-size: 24px;
		font-weight: 900;
		font-style: italic;
		letter-spacing: -6px;
		text-shadow: -3px 0 var(--ab-black);
		color: var(--ab-red)
	}

	.ab-f-m-brand {
		display: flex;
		flex-direction: column;
		line-height: 1;
		text-align: left
	}

	.ab-f-m-brand b {
		font-size: 15px;
		color: #111 !important;
		font-weight: 800
	}

	.ab-f-m-brand strong {
		font-size: 9px;
		color: var(--ab-red) !important;
		letter-spacing: 2.5px;
		margin-top: 4px;
		font-weight: 700
	}

	.ab-f-m-desc {
		margin: 0 auto 22px;
		max-width: 420px;
		font-size: 13.5px;
		line-height: 1.7;
		color: #5c5c62 !important
	}

	.ab-f-m-features {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 10px;
		max-width: 420px;
		margin: 0 auto 30px
	}

	.ab-f-m-features .ab-f-feature {
		align-items: center;
		text-align: center
	}

	.ab-f-m-features .ab-f-mi {
		width: 44px;
		height: 44px;
		flex: 0 0 44px;
		border-radius: 13px
	}

	.ab-f-m-features .ab-f-feature span:last-child {
		font-size: 11px
	}

	.ab-f-wave {
		display: block;
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 42px;
		z-index: 1;
		line-height: 0
	}

	.ab-f-wave path {
		fill: var(--ab-black);
		stroke: none
	}

	.ab-f-m-body {
		display: block;
		background: var(--ab-black);
		padding: 4px 18px 28px
	}

	.ab-f-acc-head {
		width: 100%;
		display: flex;
		align-items: center;
		gap: 14px;
		padding: 14px 0;
		border: 0;
		background: none;
		box-shadow: none;
		outline: none;
		cursor: pointer;
		text-align: left
	}

	.ab-f-acc-head:hover,
	.ab-f-acc-head:focus-visible {
		background: none;
		box-shadow: none;
		outline: none
	}

	.ab-f-acc-head span:first-child {
		flex: 1 1 auto;
		font-size: 15.5px;
		font-weight: 700;
		color: #fff !important;
		transition: color .25s ease
	}

	.ab-f-acc-head.ab-f-acc-open span:first-child {
		color: var(--ab-red) !important
	}

	.ab-f-acc-chev {
		color: #8b8d94;
		font-size: 13px;
		transition: transform .3s ease, color .25s ease
	}

	.ab-f-acc-head.ab-f-acc-open .ab-f-acc-chev {
		transform: rotate(180deg);
		color: var(--ab-red)
	}

	.ab-f-acc-panel {
		max-height: 0;
		overflow: hidden;
		opacity: 0;
		padding-left: 0;
		transition: max-height .35s ease, opacity .25s ease
	}

	.ab-f-acc-panel.ab-f-acc-panel-open {
		opacity: 1
	}

	.ab-f-acc-panel ul {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 14px;
		padding: 0 0 10px
	}

	.ab-f-acc-panel ul a {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 9px 0;
		color: #cfcfd2 !important;
		font-size: 14px;
		font-weight: 500
	}

	.ab-f-acc-panel ul a i {
		color: var(--ab-red);
		font-size: 10px;
		flex: 0 0 auto
	}

	.ab-f-m-contact {
		display: flex;
		flex-direction: column;
		gap: 16px;
		padding-bottom: 14px
	}

	.ab-f-m-contact .ab-f-cinfo {
		color: #fff !important
	}

	.ab-f-m-contact .ab-f-cinfo b {
		color: #fff !important
	}

	.ab-f-m-contact .ab-f-cinfo small {
		color: #9a9ba1 !important
	}

	.ab-f-m-social {
		display: flex;
		justify-content: center;
		gap: 12px;
		padding: 22px 0 20px;
		margin-top: 6px
	}

	.ab-f-m-social a {
		width: 34px;
		height: 34px;
		border-radius: 50%;
		display: grid;
		place-items: center;
		color: #fff !important;
		font-size: 14px
	}

	.ab-f-m-bottom {
		text-align: center;
		padding-top: 16px;
		border-top: 1px solid #2a2c33
	}

	.ab-f-m-bottom span {
		display: block;
		font-size: 12px;
		color: #9a9ba1 !important;
		margin-bottom: 8px
	}

	.ab-f-m-bottom-links {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		gap: 6px 10px
	}

	.ab-f-m-bottom-links a {
		font-size: 12px;
		color: #cfcfd2 !important
	}

	.ab-f-m-bottom-links a + a:before {
		content: "|";
		margin-right: 10px;
		color: #55565c
	}
}