/*
 * Site Concepts: site footer styling.
 * The footer markup is hard-coded in astra/template-parts/footer/builder/footer-row.php
 * with base styles in astra/style.css; this file restyles it without touching the theme.
 */

.site-footer .footer01 {
	--sf-ink: #1E293B;
	--sf-text: #67768E;
	--sf-social-light: #8D98AE;
	--sf-social-dark: #67768E;
	--sf-rule: #8A8F99;
}

/* Columns: logo, offices, services, connect. */
.site-footer .footer01 .footer01-inner {
	/* Wide side margins on large screens, tapering on smaller laptops. */
	padding: 88px clamp(32px, calc(20vw - 140px), 220px) !important;
}

.site-footer .footer01 > .e-con-inner {
	max-width: 1520px;
	grid-template-columns: minmax(200px, 1fr) 0.85fr 1.1fr 1.15fr;
	column-gap: clamp(32px, 4vw, 64px);
	align-items: start;
}

/* Logo: larger, centred against the columns. */
.site-footer .footer01 .elementor-element-8f40a61 {
	align-self: center;
}

.site-footer .footer01 .elementor-widget-image img {
	width: 100%;
	max-width: 250px;
	height: auto;
}

/*
 * The theme file hard-codes a 200x71 logo, which blurs at this size. Paint the
 * 1481x535 version (Media Library ID 3394) over the same box; the original <img>
 * stays in place, invisible, for its layout and alt text.
 */
.site-footer .footer01 .elementor-element-85b3883,
.site-footer .footer01 .elementor-element-85b3883 .elementor-widget-container {
	width: 250px;
	max-width: 100%;
}

.site-footer .footer01 .elementor-element-85b3883 .elementor-widget-container {
	position: relative;
	aspect-ratio: 1481 / 535;
	background: url("/wp-content/uploads/2026/10/site-concepts-international-logo-hires.png") center / contain no-repeat;
}

.site-footer .footer01 .elementor-element-85b3883 img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
}

/* Headings */
.site-footer .footer01 .elementor-heading-title {
	color: var(--sf-ink);
	font-size: 21px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.01em;
	margin: 0 0 14px;
}

/* List rows */
.site-footer .footer01 .elementor-icon-list-item {
	min-height: 30px;
}

.site-footer .footer01 .elementor-icon-list-text {
	color: var(--sf-text);
	font-size: 18px;
	white-space: nowrap;
}

.site-footer .footer01 .elementor-icon-list-item a:hover .elementor-icon-list-text,
.site-footer .footer01 .elementor-icon-list-item a:focus .elementor-icon-list-text {
	color: var(--sf-ink);
}

.site-footer .footer01 .elementor-icon-list-icon {
	width: 22px;
	margin-right: 10px;
}

.site-footer .footer01 .elementor-icon-list-icon svg {
	fill: var(--sf-text);
}

/* Offices: outlined map pin. Services: ring. Drawn with masks in the text colour. */
.site-footer .footer01 .elementor-element-4d46ada .elementor-icon-list-icon svg,
.site-footer .footer01 .elementor-element-007d7d9 .elementor-icon-list-icon svg {
	display: none;
}

.site-footer .footer01 .elementor-element-4d46ada .elementor-icon-list-icon::before,
.site-footer .footer01 .elementor-element-007d7d9 .elementor-icon-list-icon::before {
	content: "";
	display: block;
	width: 22px;
	height: 22px;
	background-color: var(--sf-text);
	-webkit-mask: var(--sf-icon) center / contain no-repeat;
	mask: var(--sf-icon) center / contain no-repeat;
}

.site-footer .footer01 .elementor-element-4d46ada .elementor-icon-list-icon::before {
	--sf-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s-7-6.4-7-12a7 7 0 0 1 14 0c0 5.6-7 12-7 12z'/%3E%3Ccircle cx='12' cy='10' r='2.6'/%3E%3C/svg%3E");
	height: 24px;
}

.site-footer .footer01 .elementor-element-007d7d9 .elementor-icon-list-icon::before {
	--sf-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4'%3E%3Ccircle cx='12' cy='12' r='9.3'/%3E%3Ccircle cx='12' cy='12' r='4.2'/%3E%3C/svg%3E");
	width: 21px;
	height: 21px;
}

/* Social icons: grey-blue circles, Instagram a step darker. */
.site-footer .footer01 .elementor-social-icons-wrapper {
	gap: 12px;
	margin-top: 6px;
}

.site-footer .footer01 .elementor-social-icon {
	width: 46px;
	height: 46px;
	background-color: var(--sf-social-light);
	transition: background-color 0.2s ease;
}

.site-footer .footer01 .elementor-social-icon-instagram {
	background-color: var(--sf-social-dark);
}

.site-footer .footer01 .elementor-social-icon:hover,
.site-footer .footer01 .elementor-social-icon:focus {
	background-color: var(--sf-ink);
}

.site-footer .footer01 .elementor-social-icon svg {
	width: 22px;
	height: 22px;
	fill: #FFFFFF;
}

.site-footer .footer01 .elementor-element-25d2c71 {
	margin-top: 28px;
}

/* Grey rule above the copyright. Must out-rank the yellow rule in astra/style.css. */
body #colophon > div.site-below-footer-wrap.site-below-footer-wrap.ast-builder-grid-row-container.site-footer-focus-item.ast-builder-grid-row-full.ast-builder-grid-row-tablet-full.ast-builder-grid-row-mobile-full.ast-footer-row-stack.ast-footer-row-tablet-stack.ast-footer-row-mobile-stack,
body #colophon > div.site-below-footer-wrap.site-below-footer-wrap {
	border-top: 2px solid #8A8F99 !important;
}

@media (max-width: 1024px) {
	.site-footer .footer01 .footer01-inner {
		padding: 56px 32px !important;
	}

	.site-footer .footer01 > .e-con-inner {
		grid-template-columns: 1fr 1fr;
		row-gap: 44px;
	}

	.site-footer .footer01 .elementor-element-8f40a61 {
		align-self: start;
	}
}

@media (max-width: 767px) {
	.site-footer .footer01 .footer01-inner {
		padding: 44px 20px !important;
	}

	.site-footer .footer01 > .e-con-inner {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
	}

	.site-footer .footer01 .elementor-element-85b3883,
	.site-footer .footer01 .elementor-element-85b3883 .elementor-widget-container {
		width: 220px;
	}

	/* Centre the logo like the columns below it. */
	.site-footer .footer01 .elementor-element-8f40a61 {
		width: 100%;
		align-items: center;
		justify-content: center;
	}

	.site-footer .footer01 .elementor-element-85b3883 {
		margin-left: auto;
		margin-right: auto;
	}
}
