/* Contacts Banner Section (Bottom of Homepage) */

.contacts-banner-section {
	padding: 4rem 3rem 0;
}

.contacts-banner-container {
	max-width: var(--h-container);
	margin: 0 auto;
	padding: 0 20px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}

@media (min-width: 992px) {
	.contacts-banner-container {
		padding: 0 3.2rem;
		grid-template-columns: 1fr 1fr;
        gap: 24px;
	}
}

.contacts-banner-card {
	position: relative;
	background-color: #f4f5f7;
	border-radius: 20px;
	overflow: hidden;
	display: flex;
    padding: 32px 40px;
    align-items: center;
}

/* Left Card specific setup */
.contacts-banner-card--left {
	padding-left: 140px; /* Space for the large icon on the left */
}

@media (max-width: 767px) {
    .contacts-banner-card--left {
        padding: 24px 120px 24px 24px;
        min-height: 132px;
    }
}

.contacts-banner-card__icon-wrap {
	position: absolute;
	left: -20px;
	top: -33px;
	width: 180px;
	height: 180px;
	pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(26,123,245,0.1) 0%, rgba(26,123,245,0) 100%);
    border-radius: 50%;
}

.contacts-banner-card__bg-graphic {
    color: var(--h-color-blue);
    opacity: 0.15;
}

.contacts-banner-card__bg-graphic svg {
    width: 100px;
    height: 100px;
}

.contacts-banner-card__content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	gap: 20px;
    position: relative;
    z-index: 2;
}

@media (max-width: 991px) {
	.contacts-banner-card__content {
		flex-direction: column;
		align-items: flex-start;
	}
}

.contacts-banner-card__text {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.contacts-banner-card__title {
	font-size: 16px;
	font-weight: 600;
	color: #111827;
	margin: 0;
}

.contacts-banner-card__subtitle {
	font-size: 14px;
	color: #6b7280;
	margin: 0;
}

.contacts-banner-card__btn {
	background-color: var(--h-color-blue);
	color: var(--h-color-white);
    padding: 12px 24px;
    border-radius: var(--h-button-radius);
    text-decoration: none;
    font-weight: 500;
    transition: background-color 0.2s ease;
    white-space: nowrap;
    flex-shrink: 0;
}

.contacts-banner-card__btn:hover {
	background-color: var(--h-color-blue-hover);
    opacity: 0.9;
}

/* Socials right side */
.contacts-banner-socials {
	display: flex;
	align-items: center;
	gap: 12px;
}

.contacts-banner-social-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background-color: transparent;
	transition: all 0.2s ease;
    text-decoration: none;
}

@media (max-width: 767px) {
    .contacts-banner-section {
        padding: 48px 0 0;
    }

    .contacts-banner-container {
        padding: 0 14px;
        gap: 8px;
    }

    .contacts-banner-card {
        padding: 24px;
        text-align: left;
        border-radius: 20px;
    }

    .contacts-banner-card__content {
        align-items: flex-start;
        gap: 16px;
    }

    .contacts-banner-card__text {
        align-items: flex-start;
    }

    .contacts-banner-card__title {
        font-size: 15px;
        line-height: 1.3;
    }

    .contacts-banner-card__subtitle {
        margin-top: 2px;
        font-size: 13px;
        line-height: 1.35;
    }

    .contacts-banner-card__btn {
        align-self: flex-start;
        padding: 11px 20px;
    }

    .contacts-banner-card--left .contacts-banner-card__content {
        max-width: 210px;
        justify-content: center;
        min-height: 84px;
    }

    .contacts-banner-card--left .contacts-banner-card__icon-wrap {
        left: auto;
        right: -28px;
        top: -14px;
        width: 160px;
        height: 160px;
        transform: none;
    }

    .contacts-banner-card--left .contacts-banner-card__bg-graphic svg {
        width: 110px;
        height: 110px;
    }

    .contacts-banner-card--right .contacts-banner-card__content {
        min-height: 84px;
        justify-content: space-between;
    }

    .contacts-banner-socials {
        margin-top: 4px;
        gap: 10px;
    }

    .contacts-banner-social-btn {
        width: 40px;
        height: 40px;
    }
}
