/* ====== PIE DE PÁGINA ====== */
.pie-footer {
	position: relative;
	color: #fff;
	padding: 60px 0 30px;
	background-color: #111;
	background-image: url('fondo-pie.jpg'); /* 🔁 Cambia aquí la imagen de fondo */
	background-size: cover;
	background-position: center;
	overflow: hidden;
}

.pie-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.6); /* Oscurecido del fondo */
	z-index: 0;
}

.pie-container {
	position: relative;
	z-index: 1;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 5%;
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* ===== GRID DE COLUMNAS ===== */
.pie-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 25px; /* menos separación entre columnas */
	width: 100%;
	margin-bottom: 25px;
}

.pie-col {
	text-align: left;
}

.pie-logo {
	max-width: 200px;
	margin-bottom: 20px;
}

.pie-text {
	color: #ddd;
	line-height: 1.6;
	font-size: 15px;
}

/* ===== TITULOS ===== */
.pie-title {
	color: #fff;
	font-weight: 600;
	margin-bottom: 15px;
	font-size: 18px;
	text-transform: uppercase;
}

/* ===== LISTAS ===== */
.pie-list,
.pie-contact {
	list-style: none;
	padding: 0;
	margin: 0;
}

.pie-list li,
.pie-contact li {
	margin-bottom: 10px;
}

/* ===== ENLACES ===== */
.pie-list a,
.pie-contact a {
	color: #bbb;
	text-decoration: none;
	transition: color 0.3s;
}

.pie-list a:hover,
.pie-contact a:hover {
	color: #3498db;
}

/* ===== ICONOS CONTACTO ===== */
.pie-contact li {
	display: flex;
	align-items: center;
	gap: 6px; /* separación reducida */
	line-height: 1.4;
}

.pie-contact li i {
	font-size: 16px;
	line-height: 1;
	position: relative;
	top: 1px;
	color: #3498db;
}

/* ===== IMÁGENES ===== */
.pie-img {
	display: block;
	max-width: 250px;
	margin-bottom: 20px;
	filter: brightness(0.9);
}

/* ===== LÍNEA DIVISORIA ===== */
.pie-line {
	width: 100%;
	border: none;
	border-top: 1px solid #ffffff; /* gris claro visible */

}

/* ===== BLOQUE INFERIOR ===== */
.pie-bottom {
	text-align: center;
	margin-top: 10px;
}

.pie-legal {
	color: #bbb;
	font-size: 14px;
	line-height: 1.6;
}

.pie-legal a {
	color: #3498db;
	text-decoration: none;
	margin: 0 6px; /* separación ajustada entre enlaces */
	transition: color 0.3s;
}

.pie-legal a:hover {
	color: #fff;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
	.pie-grid {
		grid-template-columns: 1fr;
		text-align: center;
	}
	.pie-col {
		align-items: center;
	}
	.pie-img {
		margin: 0 auto 20px;
	}
}
/* Asegura que los iconos FA se vean en el pie */
.pie-contact i[class*="fa-"] {
  display: inline-block;
  font-size: 16px;
  line-height: 1;
  vertical-align: middle;
}

/* ===== AJUSTE COLUMNA 3 (CONTACTO) ===== */
.pie-grid {
	grid-template-columns: 1fr 1fr 1.6fr 1fr; /* la tercera columna más ancha */
}

.pie-col:nth-child(3) {
	transform: translateX(-20px); /* la mueve un poco a la izquierda */
}

.pie-contact li,
.pie-contact a {
	word-break: break-word; /* evita desbordes de correos largos */
	white-space: normal;
}

/* ===== Mejora accesibilidad: área táctil links legales ===== */
.pie-legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 14px;              /* separación visible entre enlaces */
  line-height: 1.4;
  text-align: center;
}

.pie-legal a {
  display: inline-flex;        /* asegura caja clicable */
  align-items: center;
  justify-content: center;
  min-height: 44px;            /* recomendado para táctil */
  padding: 10px 12px;          /* agranda el tap target */
  margin: 2px 0;               /* por si hay varias filas */
  border-radius: 8px;          /* ayuda al foco visible */
}

.pie-legal a:focus-visible {
  outline: 3px solid rgba(52,152,219,.5);
  outline-offset: 2px;
}

/* En móviles, un pelín más de padding */
@media (max-width: 768px) {
  .pie-legal a {
    padding: 12px 14px;
  }
}
.pie-sep { margin: 0 6px; opacity: .6; }

/* ===== AJUSTE BLOQUE LEGAL (una sola línea y accesible) ===== */
.pie-bottom {
	text-align: center;
}

.pie-legal {
	display: flex;
	flex-wrap: wrap;             /* por si no cabe todo en pantallas pequeñas */
	justify-content: center;
	align-items: center;
	gap: 8px;                    /* separación visible entre elementos */
	line-height: 1.4;
	font-size: 14px;
	color: #bbb;
	margin-top: 20px;
}

.pie-legal a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;            /* tamaño táctil mínimo */
	padding: 6px 10px;
	border-radius: 6px;
	color: #bbb;
	text-decoration: none;
	transition: color .3s;
}

.pie-legal a:hover {
	color: #fff;
}

.pie-sep {
	display: inline-block;
	margin: 0 6px;
	color: #888;
	opacity: .6;
	line-height: 1;
	font-weight: 400;
}

/* Fuerza todo en una línea en escritorio */
@media (min-width: 992px) {
	.pie-legal {
		flex-wrap: nowrap;
	}
}
/* ===== AJUSTE BLOQUE LEGAL EN DOS LÍNEAS ===== */
.pie-bottom {
	text-align: center;
	margin-top: 20px;
}

.pie-legal {
	display: flex;
	flex-direction: column;   /* dos líneas: 1ª enlaces, 2ª autor */
	align-items: center;
	gap: 8px;
	color: #bbb;
	font-size: 14px;
	line-height: 1.6;
}

/* Primera línea: enlaces legales */
.pie-legal-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

.pie-legal-links a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;          /* área táctil suficiente */
	padding: 6px 10px;
	border-radius: 6px;
	color: #bbb;
	text-decoration: none;
	transition: color .3s;
}

.pie-legal-links a:hover {
	color: #fff;
}

.pie-sep {
	display: inline-block;
	margin: 0 6px;
	color: #888;
	opacity: .6;
	font-weight: 400;
}

/* Segunda línea (By + año + empresa) */
.pie-legal-credit {
	color: #bbb;
	font-size: 14px;
}

.pie-legal-credit a {
	color: #3498db;
	text-decoration: none;
	transition: color .3s;
}

.pie-legal-credit a:hover {
	color: #fff;
}
/* ===== FIX 1: Grid verdaderamente responsive ===== */
/* Por defecto (móvil): 1 columna */
.pie-grid {
  grid-template-columns: 1fr !important; /* pisa la regla fija */
}

/* Tablet pequeña: 2 columnas */
@media (min-width: 600px) {
  .pie-grid { grid-template-columns: 1fr 1fr !important; }
}

/* Desktop: 4 columnas (con la 3 más ancha) */
@media (min-width: 992px) {
  .pie-grid { grid-template-columns: 1fr 1fr 1.6fr 1fr !important; }
}

/* ===== FIX 2: La columna 3 no se desplace en móvil ===== */
.pie-col:nth-child(3) { transform: none !important; }
@media (min-width: 992px) {
  .pie-col:nth-child(3) { transform: translateX(-20px); }
}

/* ===== FIX 3: Logos UE visibles y centrados en móvil ===== */
.pie-col:last-child {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

/* Tamaño flexible de los logos:
   - mínimo 160px
   - en móvil hasta 80vw
   - máximo 260px (desktop) / 240px (móvil) */
.pie-img {
  width: clamp(160px, 70vw, 260px);
  height: auto;
  margin: 0;
  display: block;
  filter: brightness(0.95) contrast(1.05); /* un pelín más de contraste */
}

@media (max-width: 768px) {
  .pie-img { width: clamp(160px, 80vw, 240px); }
}

/* ===== FIX 4: Legibilidad y layout en móvil ===== */
@media (max-width: 768px) {
  .pie-container { padding: 0 16px; }
  .pie-footer { padding: 40px 0 20px; }

  .pie-col { text-align: center; }
  .pie-title { text-align: center; }

  .pie-contact li { justify-content: center; }
  .pie-contact a, .pie-contact li { word-break: break-word; white-space: normal; }

  /* Más aire entre bloques */
  .pie-grid { gap: 20px; }
  .pie-legal { gap: 10px 12px; }
}

/* ===== FIX 5: Asegurar capas (overlay no tapa contenido) ===== */
.pie-overlay { z-index: 0 !important; }
.pie-container { z-index: 1 !important; }

