/**
 * Iconos del footer neumórfico — círculo inset pro (como promos del sidebar).
 * Tema oscuro institucional: #62a9b6 · #cc5e50 · acento #F5A539
 */

.custom-neumorphic-footer {
	--cnf-icon-size: 2.25rem;
	--cnf-icon-bg: rgba(255, 255, 255, 0.06);
	--cnf-icon-inset-dark: rgba(0, 0, 0, 0.55);
	--cnf-icon-inset-light: rgba(255, 255, 255, 0.07);
	--cnf-icon-border: rgba(255, 255, 255, 0.08);
	--cnf-panel-pad-x: clamp(1rem, 2.5vw, 1.35rem);
	--cnf-panel-pad-y: clamp(0.85rem, 2vw, 1.15rem);
}

.custom-neumorphic-footer__col--accordion {
	padding: 0 var(--cnf-panel-pad-x) var(--cnf-panel-pad-y);
}

.custom-neumorphic-footer__col--accordion .custom-neumorphic-footer__summary {
	padding: 1rem 0 0.85rem;
}

.custom-neumorphic-footer__col--accordion .custom-neumorphic-footer__panel-body {
	padding: 0.75rem 0 0.35rem;
}

.custom-neumorphic-footer__col--accordion .custom-neumorphic-footer__list li {
	gap: 0.85rem;
	margin-bottom: 1.15rem;
}

.custom-neumorphic-footer__about-mobile {
	padding: 0 var(--cnf-panel-pad-x) var(--cnf-panel-pad-y);
}

.custom-neumorphic-footer__about-mobile .custom-neumorphic-footer__summary {
	padding: 1rem 0 0.85rem;
}

.custom-neumorphic-footer__about-mobile .custom-neumorphic-footer__panel-body {
	padding: 0.75rem 0 0.35rem;
}

.custom-neumorphic-footer__bottom {
	padding: var(--cnf-panel-pad-y) var(--cnf-panel-pad-x);
}

.custom-neumorphic-footer__icon {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--cnf-icon-size);
	height: var(--cnf-icon-size);
	margin-top: 0.05rem;
	border-radius: 999px;
	color: var(--cnf-accent, #f5a539);
	background: linear-gradient(
		145deg,
		rgba(255, 255, 255, 0.1) 0%,
		var(--cnf-icon-bg) 48%,
		rgba(0, 0, 0, 0.22) 100%
	);
	border: 1px solid var(--cnf-icon-border);
	box-shadow:
		inset 2px 2px 5px var(--cnf-icon-inset-dark),
		inset -2px -2px 5px var(--cnf-icon-inset-light),
		0 2px 8px rgba(0, 0, 0, 0.28);
	transition:
		color 0.22s cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 0.22s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.22s cubic-bezier(0.22, 1, 0.36, 1),
		border-color 0.22s cubic-bezier(0.22, 1, 0.36, 1);
}

.custom-neumorphic-footer__icon svg {
	display: block;
	width: 1.05rem;
	height: 1.05rem;
}

.custom-neumorphic-footer__list li:hover .custom-neumorphic-footer__icon,
.custom-neumorphic-footer__list li:focus-within .custom-neumorphic-footer__icon {
	color: #ffc96a;
	border-color: rgba(245, 165, 57, 0.35);
	box-shadow:
		inset 2px 2px 4px rgba(0, 0, 0, 0.42),
		inset -2px -2px 5px rgba(255, 255, 255, 0.1),
		0 4px 12px rgba(0, 0, 0, 0.35);
	transform: translateY(-1px);
}

.custom-neumorphic-footer__icon--legal {
	margin-top: 0;
}

.custom-neumorphic-footer__legal {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.custom-neumorphic-footer__legal > span:last-child {
	line-height: 1.5;
}

.custom-neumorphic-footer__legal:hover .custom-neumorphic-footer__icon--legal,
.custom-neumorphic-footer__legal:focus-within .custom-neumorphic-footer__icon--legal {
	color: var(--cnf-focus, #62a9b6);
	border-color: rgba(98, 169, 182, 0.4);
}

.custom-neumorphic-footer__social-btn {
	background: linear-gradient(
		145deg,
		rgba(255, 255, 255, 0.09) 0%,
		var(--cnf-panel, #121212) 55%,
		rgba(0, 0, 0, 0.2) 100%
	);
	border: 1px solid var(--cnf-icon-border);
	box-shadow:
		inset 2px 2px 5px var(--cnf-icon-inset-dark),
		inset -2px -2px 5px var(--cnf-icon-inset-light),
		0 4px 14px rgba(0, 0, 0, 0.32);
}

.custom-neumorphic-footer__social-btn:hover,
.custom-neumorphic-footer__social-btn:focus-visible {
	border-color: rgba(245, 165, 57, 0.35);
	box-shadow:
		inset 2px 2px 4px rgba(0, 0, 0, 0.4),
		inset -2px -2px 5px rgba(255, 255, 255, 0.09),
		0 6px 16px rgba(0, 0, 0, 0.38);
}
