/**
 * Footer — Shared Component (Figma 177:2952)
 * Cantos superiores arredondados revelam o bege da última seção (nunca branco).
 */

.idc-footer {
	position: relative;
	z-index: 2;
	background: var(--idc-azul-900);
	color: var(--idc-sand);
	border-radius: var(--idc-radius-lg) var(--idc-radius-lg) 0 0;
	/* Sobrepõe a última seção para os raios cortarem o bege, não o branco */
	margin-top: calc(var(--idc-radius-lg) * -1);
	padding: var(--idc-space-16) var(--idc-gutter-mobile) calc(var(--idc-space-8) + 72px);
}

@media (min-width: 768px) and (max-width: 1023px) {
	.idc-footer {
		padding: var(--idc-space-20) var(--idc-gutter-mobile) var(--idc-space-8);
	}
}

@media (min-width: 1024px) {
	.idc-footer {
		padding: var(--idc-space-30) var(--idc-gutter-desktop) var(--idc-space-8);
	}
}

.idc-footer__grid {
	display: grid;
	gap: var(--idc-space-10);
	max-width: var(--idc-container);
	margin-inline: auto;
}

@media (min-width: 900px) {
	.idc-footer__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: var(--idc-space-8);
	}
}

.idc-footer__brand {
	display: flex;
	flex-direction: column;
	gap: var(--idc-space-6);
	padding-bottom: var(--idc-space-8);
}

.idc-footer__tagline {
	font-size: var(--idc-text-sm);
	line-height: 20px;
	opacity: 0.8;
	max-width: 280px;
}

.idc-footer__col-title {
	font-size: var(--idc-text-xs);
	font-weight: 700;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	line-height: 16px;
	opacity: 0.6;
	margin-bottom: var(--idc-space-2);
	padding-bottom: var(--idc-space-2);
}

.idc-footer__links {
	display: flex;
	flex-direction: column;
	gap: var(--idc-space-4);
}

.idc-footer__links a {
	font-size: var(--idc-text-md);
	line-height: 28px;
	opacity: 0.8;
	color: var(--idc-sand);
}

.idc-footer__links a:hover {
	opacity: 1;
}

.idc-footer__bottom {
	max-width: var(--idc-container);
	margin: var(--idc-space-12) auto 0;
	padding-top: 33px;
	border-top: 1px solid rgba(229, 226, 221, 0.1);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--idc-space-4);
}

.idc-footer__copy {
	font-size: var(--idc-text-sm);
	line-height: 20px;
	opacity: 0.6;
}

.idc-footer__social {
	display: flex;
	gap: var(--idc-space-4);
	align-items: center;
}

.idc-footer__social a {
	opacity: 0.6;
	display: inline-flex;
	width: 17px;
	height: 17px;
}

.idc-footer__social a:hover {
	opacity: 1;
}

.idc-footer__social img {
	width: 100%;
	height: 100%;
}

/* Logo light no footer */
.idc-footer .idc-logo__mark,
.idc-footer .idc-logo__wordmark-dr,
.idc-footer .idc-logo__wordmark-inst {
	filter: none;
}

/* WhatsApp FAB */
.idc-whatsapp-fab {
	position: fixed;
	z-index: 1100;
	right: max(16px, env(safe-area-inset-right));
	bottom: max(16px, env(safe-area-inset-bottom));
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #25d366;
	color: #fff;
	box-shadow: 0 8px 24px rgba(37, 211, 102, 0.35);
	transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.idc-whatsapp-fab:hover {
	opacity: 1;
	transform: translateY(-2px) scale(1.04);
	box-shadow: 0 12px 28px rgba(37, 211, 102, 0.45);
}

.idc-whatsapp-fab:focus-visible {
	outline: 2px solid var(--idc-azul-900);
	outline-offset: 3px;
}

.idc-whatsapp-fab__icon {
	display: block;
	width: 28px;
	height: 28px;
}

@media print {
	.idc-whatsapp-fab {
		display: none !important;
	}
}

