/**
 * Canvas Club — site footer
 */

.cc-site-footer {
	margin: 0;
	padding: 0;
}

/* Purple CTA banner */
.cc-site-footer__cta {
	position: relative;
}

.cc-site-footer__cta-inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: clamp(1rem, 3vw, 2rem);
	align-items: center;
	min-height: clamp(9rem, 18vw, 11.5rem);
	padding: 1.5rem 65px;
	background-image: url('../../assets/images/decor/footer-bg.webp');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.cc-site-footer__logo-link {
	display: inline-flex;
	flex-shrink: 0;
	line-height: 0;
}

.cc-site-footer__logo {
	display: block;
	width: 140px;
	height: auto;
	object-fit: contain;
}

.cc-site-footer__promo {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
	max-width: 28rem;
}

.cc-site-footer__line {
	margin: 0;
	font-family: var(--cc-font-baloo-bold);
	font-size: var(--font-size-xxxx-large);
	color: var(--cc-white, #fff);
}

.cc-site-footer__headline {
	position: relative;
	font-family: var(--cc-font-baloo-bold);
	font-size: var(--font-size-xxx-large);
	color: var(--cc-yellow);
}

.cc-site-footer__headline-accent {
	position: relative;
	display: inline-block;
}

.cc-site-footer__headline-accent::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -0.15rem;
	height: 0.35rem;
	background: url('../images/decor/badge-about.svg') center / 100% 100% no-repeat;
	opacity: 0.95;
}

.cc-site-footer__register {
	margin-top: 0.35rem;
}

.cc-btn-brush--yellow .cc-btn-brush__shape {
	background-image: url('../images/btn-bg.webp');
}

.cc-btn-brush--yellow .cc-btn-brush__label {
	color: var(--cc-navy, #1a2238);
}

.cc-site-footer__photo-wrap {
	display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    align-self: end;
    height: 100%;
    right: 0;
}

.cc-site-footer__photo {
	display: block;
    position: absolute;
    width: auto;
    max-width: 600px;
    height: auto;
    object-fit: contain;
    object-position: bottom right;
    bottom: 0;
}


/* White contact bar */
.cc-site-footer__bar {
	background: var(--cc-white, #fff);
}

.cc-site-footer__bar-inner {
	padding: 0.85rem var(--cc-pad-x, 1.5rem);
}

.cc-site-footer__contacts {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cc-site-footer__contact {
	flex: 1 1 auto;
	min-width: 0;
}

.cc-site-footer__contact:nth-child(1) {
	text-align: left;
}

.cc-site-footer__contact:nth-child(2) {
	text-align: center;
}

.cc-site-footer__contact:nth-child(3) {
	text-align: right;
}

.cc-site-footer__contact-link {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	color: #555;
	font-family: 'Fredoka', system-ui, sans-serif;
	font-size: clamp(0.75rem, 1.2vw, 0.875rem);
	font-weight: 500;
	text-decoration: none;
	transition: color 0.2s ease;
}

a.cc-site-footer__contact-link:hover,
a.cc-site-footer__contact-link:focus-visible {
	color: var(--cc-purple);
	outline: none;
}

.cc-site-footer__icon {
	display: inline-flex;
	flex-shrink: 0;
	width: 1.15rem;
	height: 1.15rem;
}

.cc-site-footer__icon-svg {
	display: block;
	width: 100%;
	height: 100%;
}

@media (max-width: 1200px) {
	.cc-site-footer__photo {
		max-width: 40vw;
	}
	.cc-site-footer__line, .cc-site-footer__headline {
		font-size: var(--font-size-xx-large);
	}
}

@media (max-width: 1024px) {
	.cc-site-footer__promo {
		max-width: 21rem;
	}
}


@media (max-width: 900px) {
	.cc-site-footer__cta-inner {
		grid-template-columns: 1fr auto;
		background-image: none;
		background-color: var(--cc-purple);
	}

	.cc-site-footer__logo-link {
		grid-column: 1;
		grid-row: 1;
	}

	.cc-site-footer__promo {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.cc-site-footer__photo-wrap {
		grid-column: 2;
		grid-row: 1;
	}

	.cc-site-footer__contact {
		flex: 1 1 100%;
		text-align: center !important;
	}

	.cc-site-footer__contact-link {
		justify-content: center;
		width: 100%;
	}

	.cc-site-footer__photo {
		right: 0;
		max-width: 50vw;
	}
	.cc-site-footer__promo {
		max-width: 55vw;
	}
	.cc-site-footer__line, .cc-site-footer__headline {
		font-size: var(--font-size-xx-large);
	}
	.cc-site-footer__cta-inner {
		padding: 1.5rem 20px;
	}
}

@media (max-width: 560px) {
	.cc-site-footer__promo {
		max-width: 100%;
	}
	.cc-site-footer__cta-inner {
		grid-template-columns: 1fr;
		width: auto;
		padding: 1.5rem;
	}

	.cc-site-footer__photo-wrap {
		grid-column: 1;
		grid-row: 3;
		justify-content: center;
		margin-bottom: -1.5rem;
	}

	.cc-site-footer__line {
		font-size: var(--font-size-xx-large);
	}

	.cc-site-footer__headline {
		font-size: var(--font-size-xx-large);
	}

	.cc-site-footer__headline-accent {
		font-size: var(--font-size-xx-large);
	}

	.cc-site-footer__photo {
		max-width: 100%;
		height: auto;
		position: unset;
	}

	.cc-site-footer__contacts {
		flex-direction: column;
		align-items: flex-start
	}
}
