@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&display=swap');

:root {
	--footer-primary-blue: #11519b;
}

.custom-site-footer,
.custom-site-footer *,
.custom-site-footer h1,
.custom-site-footer h2,
.custom-site-footer h3,
.custom-site-footer h4,
.custom-site-footer h5,
.custom-site-footer h6 {
	font-family: 'Montserrat', sans-serif !important;
}
.custom-site-footer {
	background-color: #f4f7fc;
	color: #08162d;
	position: relative;
	padding: 0 !important;
}

/* 1. Blue Warning Banner */
.footer-warning-banner {
	background-color: var(--footer-primary-blue);
	color: #ffffff;
	padding: 16px 0;
	font-size: 14px;
	font-weight: 500;
}
.warning-banner-content {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 20px 0;
	font-size: 20px;
	text-transform: uppercase;
}
.warning-leaf-icon {
	display: inline-flex;
	align-items: center;
	color: rgba(255, 255, 255, 0.9);
}

/* 2. Main Footer Body */
.footer-main-body {
	padding: 60px 0 40px;
	border-bottom: 1px solid rgba(8, 22, 45, 0.08);
}
.footer-logo-wrap {
	margin-bottom: 12px;
}
.footer-logo-text {
	font-size: 32px;
	font-weight: 900;
	letter-spacing: -0.5px;
	line-height: 1;
	display: flex;
	align-items: flex-end;
}

.footer-logo-text img {
	max-width: 160px;
}
.footer-main-body .contacts-list .social-block {
	display: block;
}
.footer-main-body .contacts-list .social-block .title-social {
	color: #64748b;
	font-family: 'Montserrat', sans-serif !important;
	padding-bottom: 10px;
}
.footer-main-body .contacts-list .social-block .link-block {
	display: flex;
	gap: 10px;
}
.footer-main-body .contacts-list .social-block img {
	max-height: 30px;
}
.footer-tagline {
	font-size: 13px;
	font-weight: 500;
	color: #64748b;
	margin-bottom: 20px;
}
.footer-description {
	font-size: 12.5px;
	font-weight: 500;
	line-height: 1.6;
	color: #64748b;
	margin-bottom: 30px;
}

/* Newsletter Box */
.newsletter-title {
	font-size: 14px;
	font-weight: 600;
	color: var(--footer-primary-blue);
	margin-bottom: 8px;
	text-transform: none !important;
}
.newsletter-subtitle {
	font-size: 11px;
	line-height: 1.4;
	color: #64748b;
	margin-bottom: 16px;
}
.footer-subscribe-form {
	display: flex;
	gap: 8px;
	margin-bottom: 12px;
}
.widget-newsletter .newsletter-form input {
	width: 100%;
	padding: 10px 12px;
	font-size: 14px;
	border: 1px solid #d2d6db;
	border-radius: 6px;
	outline: none;
	font-weight: 500;
	text-transform: none;
	transition: border-color 0.2s;
	margin-bottom: 0;
}
.widget-newsletter .newsletter-form input.wpcf7-submit {
	background-color: var(--fs-color-primary);
	color: white;
}
.footer-subscribe-form input[type="email"] {
	flex-grow: 1;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 10px 14px;
	font-size: 12px;
	color: #08162d;
	height: 42px;
	box-shadow: none;
	margin: 0;
}
.footer-subscribe-form input[type="email"]:focus {
	border-color: var(--footer-primary-blue);
	background: #ffffff;
}
.footer-subscribe-form button {
	background: var(--footer-primary-blue) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 8px !important;
	padding: 0 !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	height: 42px !important;
	cursor: pointer;
	width: 100%;
	text-transform: none;
	transition: background-color 0.2s;
}
.footer-subscribe-form button:hover {
	background: #003692 !important;
}
.newsletter-agreement {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-weight: 500;
	font-size: 9.5px;
	line-height: 1.4;
	color: #64748b;
	cursor: pointer;
}
.newsletter-agreement input[type="checkbox"] {
	margin-top: 2px;
}
.newsletter-agreement a {
	color: var(--footer-primary-blue);
	text-decoration: underline;
}

/* Nav Menu columns */
.footer-nav-col {
	padding-left: 30px;
}
.nav-menu-block {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.nav-menu-title {
	font-size: 10.5px;
	font-weight: 700;
	color: var(--footer-primary-blue);
	margin: 0;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	position: relative;
	padding-bottom: 8px;
}
.nav-menu-title::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 32px;
	height: 2px;
	background-color: rgba(0, 75, 202, 0.2);
}
.nav-menu-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.nav-menu-list li a {
	font-size: 12.5px;
	color: #64748b;
	font-weight: 600;
	text-decoration: none;
	transition: color 0.2s;
}
.nav-menu-list li a:hover {
	color: var(--footer-primary-blue);
}

/* Contacts menu block */
.contacts-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.contact-item {
	display: flex;
	align-items: center;
	gap: 10px;
}
.contact-item.align-start {
	align-items: flex-start;
}
.contact-icon-wrapper {
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--footer-primary-blue);
	flex-shrink: 0;
}
.contact-details {
	display: flex;
	flex-direction: column;
}
.contact-main-text {
	font-size: 13px;
	font-weight: 700;
	color: var(--footer-primary-blue);
	text-decoration: none;
}
a.contact-main-text:hover {
	color: var(--footer-primary-blue);
}
.contact-sub-text {
	font-size: 10.5px;
	color: #64748b;
	font-weight: 500;
}
.inline-address {
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	color: #64748b;
}
.contact-schedule-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	border-top: 1px dashed rgba(8, 22, 45, 0.08);
	padding-top: 12px;
}
.schedule-details {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-weight: 600;
	font-size: 11px;
	color: #64748b;
}

/* 3. Middle Trust Bar */
.footer-trust-bar {
	padding: 40px 0;
	border-bottom: 1px solid rgba(8, 22, 45, 0.08);
}
.trust-bar-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
}
.trust-features-grid {
	display: flex;
	gap: 24px;
	flex-grow: 1;
}
.trust-feature-card {
	flex: 1;
	display: flex;
	gap: 12px;
	align-items: flex-start;
}
.trust-feature-icon-circle {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--footer-primary-blue);
	flex-shrink: 0;
}
.trust-feature-content {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.feature-card-title {
	font-size: 12px;
	font-weight: 700;
	color: var(--footer-primary-blue);
	margin: 0;
	text-transform: none !important;
}
.feature-card-desc {
	font-size: 11px;
	line-height: 1.8;
	color: #64748b;
	font-weight: 600;
	margin: 0;
}

.trust-logos-block {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}
.trust-logo-badge-img {
	max-height: 49px;
	min-width: fit-content;
}
.trust-logo-item {
	padding: 6px 12px;
	font-size: 12px;
	font-weight: 800;
	color: #64748b;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}
.trust-logo-item.badge-certified {
	flex-direction: column;
	padding: 4px 10px;
	gap: 2px;
	color: #08162d;
}
.badge-certified .certified-tiny {
	font-size: 7px;
	font-weight: 700;
	letter-spacing: 0.2px;
	opacity: 0.6;
}
.badge-certified .certified-main {
	font-size: 11.5px;
	font-weight: 900;
	color: var(--footer-primary-blue);
}
.trust-logo-badge-seal {
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #f59e0b;
}

/* 4. Bottom bar */
.footer-bottom-bar {
	padding: 24px 0;
	font-size: 12px;
	color: #ffffff;
	background: var(--footer-primary-blue);
}
.bottom-bar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.bottom-links-col {
	display: flex;
	justify-content: center;
	gap: 20px;
}
.bottom-links-col a {
	color: #ffffff;
	text-decoration: none;
	transition: color 0.2s;
	font-weight: 500;
}
.bottom-links-col a:hover {
	color: #ffffff;
}

.payment-logos-col {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
}
.payment-intro-label {
	font-size: 11.5px;
}
.payment-logo-row {
	display: flex;
	align-items: center;
	gap: 8px;
}
.pay-logo {
	height: 18px;
	width: auto;
	object-fit: contain;
}

/* Smooth multi-breakpoint responsive grid transitions */

/* 1. Large screens (>= 1200px): 6 columns in 1 row */
@media (min-width: 1200px) {
	.footer-grid-row {
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: flex-start;
	}
	.footer-grid-row .footer-info-col {
		flex: 0 0 25%;
		max-width: 25%;
	}
	.footer-grid-row .nav-menu-block {
		flex: 0 0 13.5%;
		max-width: 13.5%;
	}
	.footer-grid-row .contacts-block {
		flex: 0 0 21%;
		max-width: 21%;
	}
}

/* 2. Medium screens (992px to 1199px): 3 columns per row (2 rows) */
@media (min-width: 992px) and (max-width: 1199px) {
	.footer-grid-row {
		display: flex;
		flex-wrap: wrap;
		gap: 30px 2%;
	}
	.footer-grid-row .footer-info-col {
		flex: 0 0 48%;
		max-width: 48%;
	}
	.footer-grid-row .nav-menu-block {
		flex: 0 0 23%;
		max-width: 23%;
	}
	.footer-grid-row .contacts-block {
		flex: 0 0 26%;
		max-width: 26%;
	}
}

/* 3. Tablets (640px to 991px): 2 columns per row */
@media (min-width: 640px) and (max-width: 991px) {
	.footer-grid-row {
		display: flex;
		flex-wrap: wrap;
		gap: 30px 4%;
	}
	.footer-grid-row .footer-info-col {
		flex: 0 0 100%;
		max-width: 100%;
		margin-bottom: 10px;
	}
	.footer-grid-row .nav-menu-block {
		flex: 0 0 48%;
		max-width: 48%;
	}
	.footer-grid-row .contacts-block {
		flex: 0 0 48%;
		max-width: 48%;
	}
	
	.trust-bar-inner {
		flex-direction: column;
		gap: 24px;
	}
	.trust-features-grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
		width: 100%;
	}
}

/* 4. Small Mobile screens (< 640px): 1 column */
@media (max-width: 639px) {
	.footer-grid-row {
		display: flex;
		flex-direction: column;
		gap: 28px;
	}
	.footer-info-col,
	.nav-menu-block,
	.contacts-block {
		width: 100% !important;
		max-width: 100% !important;
	}
	.trust-bar-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
	}
	.trust-features-grid {
		flex-direction: column;
		gap: 16px;
		width: 100%;
	}
	.trust-logos-block {
		width: 100%;
		justify-content: flex-start;
	}
	.bottom-bar-inner {
		flex-direction: column;
		gap: 16px;
		text-align: center;
	}
	.bottom-links-col {
		flex-wrap: wrap;
		justify-content: center;
	}
	.payment-logos-col {
		justify-content: center;
		width: 100%;
	}
}


