/* Viagens — chronological travel archive */
.travel-index{background:#f6f8fb;min-height:70vh}
.travel-index__hero{padding:clamp(3rem,6vw,5.5rem) 0;background:#0b1624;color:#fff}
.travel-index__hero .container{max-width:900px}
.travel-index__eyebrow,.travel-year__heading p{margin:0 0:.55rem;color:#1682ff;font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.travel-index__hero h1{margin:0;font-size:clamp(2.5rem,5vw,4.7rem);line-height:.95}
.travel-index__hero p:last-child{max-width:720px;margin:1.15rem 0 0;color:#cbd6e3;font-size:1.05rem;line-height:1.7}
.travel-index__layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(2rem,5vw,5rem);padding-block:clamp(2.5rem,5vw,5rem)}
.travel-years{align-self:start;position:sticky;top:88px}
.travel-years h2{margin:0 0:1rem;font-size:1rem;text-transform:uppercase;letter-spacing:.06em}
.travel-years ul{margin:0;padding:0;list-style:none}
.travel-years li+li{margin-top:.35rem}
.travel-years a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .8rem;border-radius:7px;color:#253247;text-decoration:none}
.travel-years a:hover,.travel-years a[aria-current="page"]{background:#fff;color:#096fe8;box-shadow:0 6px 18px rgb(12 32 55 / 8%)}
.travel-years a span{font-weight:800}
.travel-years small{color:#738198;font-size:.68rem}
.travel-year__heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:1.25rem;border-bottom:1px solid #dfe5ed;padding-bottom:1rem}
.travel-year__heading p{margin:0}.travel-year__heading h2{margin:0;font-size:2.25rem}
.travel-list{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:1.15rem;
}

.travel-entry{
	min-width:0;
	overflow:hidden;
	background:#fff;
	border:1px solid #e0e6ee;
	border-radius:10px;
	box-shadow:0 8px 24px rgb(14 35 58 / 7%);
	transition:transform 180ms ease,box-shadow 180ms ease;
}

.travel-entry__media{
	position:relative;
	overflow:hidden;
	aspect-ratio:16/10;
	background:linear-gradient(145deg,#173454,#08131f);
}

.travel-entry__media img{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
}

.travel-entry__media--empty::before{
	position:absolute;
	inset:0;
	background:
		radial-gradient(circle at 75% 25%,rgb(22 130 255 / 38%),transparent 34%),
		linear-gradient(145deg,#173454,#08131f);
	content:"";
}

.travel-entry__date{
	position:absolute;
	top:.7rem;
	left:.7rem;
	padding:.28rem .48rem;
	background:#0878f9;
	border-radius:5px;
	color:#fff;
	font-size:.61rem;
	font-weight:800;
	letter-spacing:.02em;
	line-height:1.15;
	box-shadow:0 4px 12px rgb(0 0 0 / 18%);
}

.travel-entry__body{
	padding:1rem 1rem 1.15rem;
}

.travel-entry__body h3{
	margin:0;
	font-size:1.04rem;
	line-height:1.35;
}

.travel-entry__body h3 a{
	color:#12233b;
	text-decoration:none;
}

.travel-entry__body h3 a:hover,
.travel-entry__body h3 a:focus-visible{
	color:#0878f9;
	text-decoration:underline;
	text-underline-offset:3px;
}

.travel-entry__destination{
	margin:.35rem 0 0;
	color:#1e293b;
	font-size:.76rem;
	font-weight:750;
	line-height:1.4;
}

.travel-entry__excerpt{
	margin:.65rem 0 0;
	color:#66758b;
	font-size:.8rem;
	line-height:1.6;
}

@media (hover:hover) and (pointer:fine){
	.travel-entry:hover{
		transform:translateY(-2px);
		box-shadow:0 12px 30px rgb(14 35 58 / 11%);
	}
}

.travel-pagination{
	margin-top:2rem;
}

.travel-pagination ul{
	display:flex;
	gap:.4rem;
	margin:0;
	padding:0;
	list-style:none;
}

.travel-pagination a,
.travel-pagination span{
	display:grid;
	min-width:38px;
	height:38px;
	place-items:center;
	border-radius:6px;
	background:#fff;
	color:#12233b;
	text-decoration:none;
}

.travel-pagination .current{
	background:#1682ff;
	color:#fff;
}

@media(max-width:1100px){
	.travel-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:900px){
	.travel-index__layout{grid-template-columns:1fr}
	.travel-years{position:static}
	.travel-years ul{display:flex;gap:.5rem;overflow:auto;padding-bottom:.5rem}
	.travel-years li+li{margin-top:0}
	.travel-years a{min-width:max-content}
}

@media(max-width:620px){
	.travel-list{grid-template-columns:1fr}
}

.travel-entry__media{text-decoration:none;color:inherit}

/* Clickable card media — preserve original block geometry. */
.travel-entry__media{display:block;text-decoration:none;color:inherit}


/* Mobile travel archive containment — v0.7.0 */
@media (max-width: 900px){
	.travel-index{
		overflow-x:clip;
	}

	.travel-index__layout,
	.travel-years,
	.travel-year,
	.travel-list,
	.travel-entry{
		min-width:0;
		max-width:100%;
	}

	.travel-index__layout{
		width:100%;
		grid-template-columns:minmax(0,1fr);
		gap:1.75rem;
	}

	.travel-years{
		width:100%;
		overflow:hidden;
	}

	.travel-years ul{
		width:100%;
		max-width:100%;
		overflow-x:auto;
		overflow-y:hidden;
		overscroll-behavior-inline:contain;
		-webkit-overflow-scrolling:touch;
		scrollbar-width:thin;
	}

	.travel-year{
		width:100%;
	}

	.travel-year__heading{
		width:100%;
	}
}

@media (max-width: 620px){
	.travel-index__hero{
		padding-block:2.4rem 2.7rem;
	}

	.travel-index__hero .container{
		width:100%;
	}

	.travel-index__hero h1{
		font-size:2.35rem;
	}

	.travel-index__hero p:last-child{
		margin-top:.8rem;
		font-size:.9rem;
		line-height:1.6;
	}

	.travel-index__layout{
		padding-block:2rem 3rem;
	}

	.travel-years h2{
		margin-bottom:.7rem;
		font-size:.78rem;
	}

	.travel-years a{
		padding:.55rem .7rem;
	}

	.travel-years small{
		font-size:.62rem;
	}

	.travel-year__heading{
		align-items:center;
	}

	.travel-year__heading h2{
		font-size:1.75rem;
	}

	.travel-list{
		grid-template-columns:minmax(0,1fr);
		gap:1rem;
	}

	.travel-entry{
		width:100%;
	}

	.travel-entry__media{
		width:100%;
		aspect-ratio:16/10;
	}

	.travel-entry__body{
		padding:.95rem 1rem 1.1rem;
	}
}


/* Mobile travel spacing aligned with homepage — v0.7.1 */
@media (max-width: 620px){
	.travel-index__hero .container,
	.travel-index__layout{
		width:100%;
		padding-left:1rem;
		padding-right:1rem;
	}

	.travel-years{
		margin-left:0;
		margin-right:0;
	}

	.travel-year,
	.travel-list,
	.travel-entry{
		width:100%;
	}

	.travel-entry{
		border-radius:10px;
	}
}
