/**
 * Footer styles
 */

.sw-site-footer {
	background-color: var(--sw-color-navy);
	color: var(--sw-color-white);
	margin-block-end: 0;
}

/* ==========================================================================
   Top Trust Strip
   ========================================================================== */
.sw-footer-trust-strip {
	background-color: var(--sw-color-surface-subtle);
	padding-block: var(--sw-space-6);
	color: var(--sw-color-navy);
}

.sw-footer-trust-inner {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--sw-space-6) var(--sw-space-4);
}

.sw-footer-trust-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.sw-footer-trust-icon {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background-color: var(--sw-color-white);
	color: var(--sw-color-blue);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: var(--sw-space-3);
	box-shadow: var(--sw-shadow-sm);
}

.sw-footer-trust-icon svg {
	width: 24px;
	height: 24px;
}

.sw-footer-trust-title {
	font-size: var(--sw-text-sm);
	font-weight: var(--sw-weight-bold);
	line-height: var(--sw-leading-tight);
}

/* ==========================================================================
   Main Footer
   ========================================================================== */
.sw-footer-main {
	padding-block: var(--sw-space-8);
}

.sw-footer-main-inner {
	display: flex;
	flex-direction: column;
	gap: var(--sw-space-8);
}

/* Brand & Contact */
.sw-footer-brand {
	display: flex;
	flex-direction: column;
	gap: var(--sw-space-6);
}

.sw-footer-logo img {
	max-inline-size: 200px;
	block-size: auto;
}

.sw-footer-desc {
	font-size: var(--sw-text-sm);
	color: rgba(255, 255, 255, 0.8);
	line-height: var(--sw-leading-relaxed);
	margin: 0;
}

.sw-footer-contact-list {
	display: flex;
	flex-direction: column;
}

.sw-footer-contact-item {
	display: flex;
	align-items: center;
	padding-block: var(--sw-space-4);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	color: var(--sw-color-white);
	text-decoration: none;
	gap: var(--sw-space-4);
}
.sw-footer-contact-item:last-child {
	border-bottom: none;
}
.sw-footer-contact-item:hover {
	color: var(--sw-color-white);
	text-decoration: none;
}

.sw-footer-contact-icon {
	color: rgba(255, 255, 255, 0.7);
	display: flex;
	align-items: center;
	flex-shrink: 0;
}
.sw-footer-contact-icon svg {
	width: 20px;
	height: 20px;
}

.sw-footer-contact-text {
	display: flex;
	flex-direction: column;
	flex: 1;
}

.sw-footer-contact-label {
	font-size: var(--sw-text-xs);
	color: var(--sw-color-orange);
	margin-bottom: 2px;
}

.sw-footer-contact-value {
	font-size: var(--sw-text-sm);
	font-weight: var(--sw-weight-medium);
}

.sw-footer-contact-chevron {
	color: rgba(255, 255, 255, 0.3);
	display: flex;
	align-items: center;
}
.sw-footer-contact-chevron svg {
	width: 16px;
	height: 16px;
}

/* Social */
.sw-footer-social {
	display: flex;
	gap: var(--sw-space-4);
}

.sw-social-icon {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.2);
	color: var(--sw-color-white);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all var(--sw-transition-duration);
}
.sw-social-icon:hover {
	background-color: var(--sw-color-white);
	color: var(--sw-color-navy);
}
.sw-social-icon svg {
	width: 20px;
	height: 20px;
}

/* Menus */
.sw-footer-menus {
	display: flex;
	flex-direction: column;
}

.sw-footer-menu-col {
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.sw-footer-menu-col:first-child {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.sw-footer-menu-toggle {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: transparent;
	border: none;
	color: var(--sw-color-white);
	padding: var(--sw-space-4) 0;
	font-size: var(--sw-text-base);
	font-weight: var(--sw-weight-bold);
	cursor: pointer;
	text-align: left;
}

/* Touch-safe accordion interaction states.
   Avoid sticky :hover backgrounds on mobile browsers. */
.sw-footer-menu-toggle,
.sw-footer-menu-toggle:hover,
.sw-footer-menu-toggle:active {
	background-color: transparent;
	color: var(--sw-color-white);
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
}

.sw-footer-menu-toggle:focus {
	background-color: transparent;
	color: var(--sw-color-white);
}

.sw-footer-menu-toggle:focus-visible {
	outline: 2px solid var(--sw-color-blue);
	outline-offset: -2px;
	border-radius: var(--sw-radius-sm);
	background-color: rgba(255, 255, 255, 0.04);
}

@media (hover: hover) and (pointer: fine) {
	.sw-footer-menu-toggle:hover {
		background-color: rgba(255, 255, 255, 0.04);
	}
}
.sw-accordion-icon {
	display: flex;
	transition: transform var(--sw-transition-duration);
	color: rgba(255, 255, 255, 0.5);
}
.sw-accordion-icon svg {
	width: 20px;
	height: 20px;
}
.sw-footer-menu-toggle[aria-expanded="true"] .sw-accordion-icon {
	transform: rotate(180deg);
}

.sw-footer-menu-toggle[aria-expanded="true"] {
	background-color: transparent;
	color: var(--sw-color-white);
}

/* Accordion Content Mobile Hidden */
.sw-footer-menu-content {
	display: none;
	padding-bottom: var(--sw-space-4);
}
.sw-footer-menu-toggle[aria-expanded="true"] + .sw-footer-menu-content {
	display: block;
}

.sw-footer-nav-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: var(--sw-space-3);
}

.sw-footer-nav-list li a {
	color: rgba(255, 255, 255, 0.8);
	text-decoration: none;
	font-size: var(--sw-text-sm);
	display: flex;
	align-items: center;
	gap: var(--sw-space-2);
}
.sw-footer-nav-list li a::before {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	/* Base64 encoded chevron-right SVG matching our style */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.sw-footer-nav-list li a:hover {
	color: var(--sw-color-white);
}
.sw-footer-nav-list li a:hover::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E");
}


/* ==========================================================================
   Bottom Footer
   ========================================================================== */
.sw-footer-bottom {
	background-color: rgba(0, 0, 0, 0.2);
	padding-block: var(--sw-space-6);
	padding-block-end: max(var(--sw-space-6), env(safe-area-inset-bottom));
	border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.sw-footer-bottom-inner {
	display: flex;
	flex-direction: column;
	gap: var(--sw-space-4);
	align-items: center;
	text-align: center;
}

.sw-footer-bottom-left {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--sw-space-2);
}
.sw-footer-bottom-icon {
	color: rgba(255, 255, 255, 0.8);
	display: flex;
}
.sw-footer-bottom-icon svg {
	width: 28px;
	height: 28px;
}
.sw-footer-bottom-text {
	font-weight: var(--sw-weight-bold);
	font-size: var(--sw-text-sm);
}

.sw-footer-bottom-right {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--sw-space-2);
	font-size: var(--sw-text-xs);
	color: rgba(255, 255, 255, 0.6);
}

.sw-footer-legal-links {
	display: flex;
	align-items: center;
	gap: var(--sw-space-2);
}
.sw-footer-legal-links a {
	color: var(--sw-color-blue);
	text-decoration: none;
}
.sw-footer-legal-links a:hover {
	text-decoration: underline;
}

/* ==========================================================================
   Desktop Overrides (>= 1024px)
   ========================================================================== */
@media (min-width: 1024px) {
	/* Trust Strip */
	.sw-footer-trust-inner {
		grid-template-columns: repeat(4, 1fr);
		gap: var(--sw-space-4);
	}
	.sw-footer-trust-item {
		flex-direction: row;
		text-align: left;
		justify-content: center;
		gap: var(--sw-space-4);
	}
	.sw-footer-trust-icon {
		margin-bottom: 0;
	}

	/* Main Footer Layout */
	.sw-footer-main-inner {
		flex-direction: row;
		gap: var(--sw-space-12);
	}

	.sw-footer-brand {
		flex: 0 0 35%;
	}
	
	.sw-footer-contact-item {
		border-bottom: none;
		padding-block: var(--sw-space-2);
	}
	.sw-footer-contact-chevron {
		display: none;
	}

	/* Menus Layout */
	.sw-footer-menus {
		flex: 1;
		flex-direction: row;
		justify-content: space-between;
		gap: var(--sw-space-6);
	}

	.sw-footer-menu-col {
		border: none !important;
		flex: 1;
	}

	.sw-footer-menu-toggle {
		cursor: default;
		padding-bottom: var(--sw-space-4);
		pointer-events: none;
	}
	.sw-accordion-icon {
		display: none;
	}

	.sw-footer-menu-content {
		display: block !important;
		padding-bottom: 0;
	}

	/* Bottom Footer */
	.sw-footer-bottom-inner {
		flex-direction: row;
		justify-content: space-between;
		text-align: left;
	}
	.sw-footer-bottom-left {
		flex-direction: row;
		gap: var(--sw-space-3);
	}
	.sw-footer-bottom-right {
		align-items: flex-end;
	}
}
