/* PortalFilm Theme: estilos del componente common/footer (optimizado móvil) */

.pf_pfilm_common_footer {
	background-color: var(--color-bg-surface-secondary);
	border-top: 1px solid var(--color-border);
	padding: var(--spacing-xl) 0;
	margin-top: var(--spacing-xxl);
}

.pf_pfilm_common_footer_inner {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--spacing-xl);
}

.pf_pfilm_common_footer_nav {
	flex: 1;
	min-width: 0;
}

.pf_pfilm_common_footer_menu {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 0;
}

.pf_pfilm_common_footer_menu li {
	margin: 0;
}

.pf_pfilm_common_footer_menu a {
	display: inline-block;
	padding: var(--spacing-sm) var(--spacing-md);
	min-height: 44px;
	line-height: 44px;
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
}

.pf_pfilm_common_footer_copyright {
	margin: 0;
	font-size: var(--font-size-small);
	color: var(--color-text-secondary);
	line-height: 1.5;
	flex-shrink: 0;
}

/* Móvil: menú en columna, enlaces táctiles, copyright abajo */
@media (max-width: 768px) {
	.pf_pfilm_common_footer {
		padding: var(--spacing-lg) 0;
	}

	.pf_pfilm_common_footer_inner {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
		gap: var(--spacing-lg);
	}

	.pf_pfilm_common_footer_menu {
		flex-direction: column;
		align-items: center;
		gap: 0;
	}

	.pf_pfilm_common_footer_menu a {
		width: 100%;
		text-align: center;
		padding-left: var(--spacing-md);
		padding-right: var(--spacing-md);
	}

	.pf_pfilm_common_footer_copyright {
		order: 2;
		padding-top: var(--spacing-md);
		border-top: 1px solid var(--color-border);
	}
}

/* Escritorio: menú en fila */
@media (min-width: 769px) {
	.pf_pfilm_common_footer_menu {
		gap: var(--spacing-xs);
	}

	.pf_pfilm_common_footer_menu a {
		min-height: 0;
		line-height: 1.5;
		padding: var(--spacing-xs) var(--spacing-sm);
	}
}

/* Botón flotante: volver al inicio */
.pf_pfilm_common_back_to_top {
	position: fixed;
	bottom: var(--spacing-lg);
	right: var(--spacing-lg);
	z-index: 99;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	background-color: var(--color-primary);
	color: #fff;
	border: none;
	border-radius: 50%;
	box-shadow: 0 4px 12px var(--shadow-card);
	text-decoration: none;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity var(--transition-base), visibility var(--transition-base), transform var(--transition-base), background-color var(--transition-base);
	-webkit-tap-highlight-color: transparent;
}

.pf_pfilm_common_back_to_top:hover,
.pf_pfilm_common_back_to_top:focus {
	background-color: var(--color-primary-variant);
	color: #fff;
	text-decoration: none;
}

.pf_pfilm_common_back_to_top:focus-visible {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

.pf_pfilm_common_back_to_top_visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.pf_pfilm_common_back_to_top_icon {
	display: block;
	width: 24px;
	height: 24px;
	background-color: currentColor;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m18 15-6-6-6 6'/%3E%3C/svg%3E");
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m18 15-6-6-6 6'/%3E%3C/svg%3E");
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
}

@media (prefers-reduced-motion: reduce) {
	.pf_pfilm_common_back_to_top {
		transition: none;
	}
}
