/**
 * Private Transport Cusco - sitemap HTML (/sitemap.html).
 * Encolado desde inc/enqueue.php solo en esa página.
 */

/* --- Hero --- */
.ptc-sitemap-hero {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 42rem;
	color: var(--color-white);
	background-color: var(--color-active);
	background-image: linear-gradient(135deg, var(--color-active), var(--color-primary));
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	isolation: isolate;
}

/* Overlay también detrás de la barra superior (--nav-overlap, ver header.css) */
.ptc-sitemap-hero::before {
	content: "";
	position: absolute;
	inset: calc(-1 * var(--nav-overlap, 0px)) 0 0 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(25, 83, 114, 0.7), rgba(0, 0, 0, 0.6));
}

.ptc-sitemap-hero__inner {
	width: 100%;
	padding-block: 6rem 5rem;
}

.ptc-sitemap-hero .eyebrow {
	display: inline-block;
	margin-bottom: 1.2rem;
	padding: 0.5rem 1.4rem;
	color: var(--color-white);
	background: var(--color-secondary);
	border-radius: var(--radius-badge);
}

.ptc-sitemap-hero__title {
	margin: 0 0 1rem;
	font-family: var(--font-body);
	font-size: clamp(3.6rem, 6vw, 6rem);
	font-weight: 700;
	line-height: 1.05;
	color: var(--color-white);
	text-shadow: 0 0.2rem 1.2rem rgba(0, 0, 0, 0.35);
}

.ptc-sitemap-hero__sub {
	max-width: 60rem;
	margin: 0 0 1.6rem;
	font-size: 1.8rem;
	color: rgba(255, 255, 255, 0.92);
}

.ptc-sitemap-hero .breadcrumbs {
	display: flex;
	gap: 0.8rem;
	margin: 0;
	font-size: 1.4rem;
	color: rgba(255, 255, 255, 0.9);
}

.ptc-sitemap-hero .breadcrumbs a {
	color: var(--color-white);
	text-decoration: none;
}

.ptc-sitemap-hero .breadcrumbs a:hover {
	color: var(--color-secondary);
}

/* --- Cuerpo --- */
.ptc-sitemap {
	padding-block: 5rem 8rem;
	background: var(--color-bg-alt);
}

/* Navegación rápida por secciones */
.ptc-sitemap__jump {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: center;
	margin-bottom: 4rem;
}

.ptc-sitemap__jump a {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0.8rem 1.6rem;
	font-size: 1.4rem;
	font-weight: 600;
	color: var(--color-primary);
	text-decoration: none;
	background: var(--color-white);
	border: 1px solid var(--color-border-card);
	border-radius: var(--radius-badge);
	transition: color 0.2s, background-color 0.2s, border-color 0.2s;
}

.ptc-sitemap__jump a:hover,
.ptc-sitemap__jump a:focus-visible {
	color: var(--color-white);
	background: var(--color-primary);
	border-color: var(--color-primary);
}

.ptc-sitemap__jump a span {
	min-width: 2.2rem;
	padding: 0.1rem 0.6rem;
	font-size: 1.2rem;
	text-align: center;
	color: var(--color-secondary-text);
	background: var(--color-badge-secondary-bg);
	border-radius: var(--radius-badge);
}

.ptc-sitemap__jump .ptc-sitemap__jump-xml {
	color: var(--color-text-secondary);
}

/* Tarjetas */
.ptc-sitemap__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(32rem, 1fr));
	gap: 2.4rem;
	align-items: start;
}

.ptc-sitemap__card {
	padding: 2.8rem;
	scroll-margin-top: 12rem;
	background: var(--color-white);
	border: 1px solid var(--color-border-card);
	border-top: 0.4rem solid var(--color-secondary);
	border-radius: var(--radius-card);
	box-shadow: var(--shadow-card);
	transition: transform 0.25s, box-shadow 0.25s;
}

.ptc-sitemap__card:hover {
	transform: translateY(-0.3rem);
	box-shadow: 0 1rem 2.8rem rgba(46, 138, 186, 0.14);
}

.ptc-sitemap__card-title {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	margin: 0 0 2rem;
	font-family: var(--font-body);
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--color-text);
}

.ptc-sitemap__card-icon {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 4.4rem;
	height: 4.4rem;
	font-size: 2rem;
	color: var(--color-primary);
	background: var(--color-badge-primary-bg);
	border-radius: 50%;
}

.ptc-sitemap__card-count {
	margin-left: auto;
	padding: 0.3rem 1rem;
	font-size: 1.3rem;
	font-weight: 600;
	color: var(--color-secondary-text);
	background: var(--color-badge-secondary-bg);
	border-radius: var(--radius-badge);
}

.ptc-sitemap__list {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ptc-sitemap__list li + li {
	border-top: 1px solid var(--color-border);
}

.ptc-sitemap__list a {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	padding: 0.9rem 0;
	font-size: 1.5rem;
	color: var(--color-text-secondary);
	text-decoration: none;
	transition: color 0.2s, padding-left 0.2s;
}

.ptc-sitemap__list a::before {
	content: "\203A";
	flex: none;
	font-size: 1.8rem;
	line-height: 1;
	color: var(--color-secondary);
}

.ptc-sitemap__list a:hover,
.ptc-sitemap__list a:focus-visible {
	padding-left: 0.6rem;
	color: var(--color-primary);
}

@media (max-width: 575.98px) {
	.ptc-sitemap-hero {
		min-height: 34rem;
	}

	.ptc-sitemap__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.ptc-sitemap__card {
		padding: 2rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ptc-sitemap__card,
	.ptc-sitemap__list a,
	.ptc-sitemap__jump a {
		transition: none;
	}

	.ptc-sitemap__card:hover {
		transform: none;
	}
}
