/* Cronología Corrales – línea central, foto y texto alternados */

.cc-timeline {
	--cc-ratio: 4/3;
	--cc-accent: #c2185b;
	--cc-line: #e8a3bd;
	--cc-gap: 48px;
	--cc-radius: 12px;
	position: relative;
	max-width: 1100px;
	margin: 0 auto;
	padding: 20px 0;
}

/* Línea vertical central */
.cc-timeline::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 2px;
	transform: translateX(-50%);
	background: var(--cc-line);
}

/* Cada hito: [lado izq] [punto] [lado der] */
.cc-item {
	position: relative;
	display: grid;
	grid-template-columns: 1fr var(--cc-gap) 1fr;
	align-items: center;
	margin-bottom: 70px;
}
.cc-item:last-child { margin-bottom: 0; }

.cc-dot {
	grid-column: 2;
	grid-row: 1;
	justify-self: center;
	width: 16px;
	height: 16px;
	border: 3px solid var(--cc-accent);
	border-radius: 50%;
	background: #fffdf0;
	box-sizing: border-box;
	z-index: 1;
}

/* Foto a la derecha, texto a la izquierda */
.cc-photo-right .cc-text  { grid-column: 1; grid-row: 1; text-align: right; }
.cc-photo-right .cc-media { grid-column: 3; grid-row: 1; }

/* Foto a la izquierda, texto a la derecha */
.cc-photo-left .cc-text  { grid-column: 3; grid-row: 1; text-align: left; }
.cc-photo-left .cc-media { grid-column: 1; grid-row: 1; }

/* Textos */
.cc-year {
	display: block;
	color: var(--cc-accent);
	font-weight: 700;
	font-size: 0.95rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin-bottom: 4px;
}
.cc-title {
	margin: 0 0 12px;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.25;
}
.cc-desc { line-height: 1.7; }
.cc-desc p { margin: 0 0 0.6em; }
.cc-desc p:last-child { margin-bottom: 0; }

/* TODAS las fotos con el mismo tamaño */
.cc-media {
	width: 100%;
	aspect-ratio: var(--cc-ratio);
	border-radius: var(--cc-radius);
	overflow: hidden;
	background: #f1ede0;
}
.cc-media .cc-img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	object-fit: cover;      /* recorta para encajar sin deformar */
	object-position: center top;
	margin: 0;
}
.cc-media--entera { background: transparent; }
.cc-media--entera .cc-img { border-radius: var(--cc-radius); }
.cc-img--empty {
	display: flex !important;
	align-items: center;
	justify-content: center;
	color: #999;
	font-size: 0.9rem;
}

/* Móvil: línea a la izquierda, texto y foto uno debajo del otro */
@media (max-width: 768px) {
	.cc-timeline::before { left: 8px; transform: none; }

	.cc-item {
		grid-template-columns: 34px 1fr;
		grid-template-rows: auto auto;
		align-items: start;
		margin-bottom: 48px;
	}
	.cc-dot {
		grid-column: 1;
		grid-row: 1;
		justify-self: start;
		margin-top: 2px;
	}
	.cc-photo-right .cc-text,
	.cc-photo-left .cc-text  { grid-column: 2; grid-row: 1; text-align: left; margin-bottom: 14px; }
	.cc-photo-right .cc-media,
	.cc-photo-left .cc-media { grid-column: 2; grid-row: 2; }
}
