/* ==========================================
   RESPONSIVE
   ========================================== */
@media (max-width: 900px) {
	.page-hero {
		padding: 18px 16px;
	}

	.page-hero--banner {
		padding: 32px 16px;
	}

	.page-hero--banner h2 {
		font-size: var(--font-150);
	}

	.page-hero--section {
		padding: 24px 16px;
	}

	.city-stats {
		grid-template-columns: 1fr;
	}

	.city-blocks {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ckp__stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ckp__identity {
		flex-direction: column;
		gap: 4px;
	}

	.ckp__action {
		flex-direction: column;
		align-items: stretch;
	}

	.ckp__action-form {
		flex-direction: column;
	}

	.ckp__action-btn {
		width: 100%;
	}

	.ck__secondaries {
		grid-template-columns: 1fr;
	}

	.ck__rename-inline.is-open {
		flex-direction: column;
		align-items: stretch;
	}

	.ck__rename-input {
		max-width: 100%;
	}

	.zo__animal-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.zo__animal-action {
		width: 100%;
	}

	.zo__enc-selector {
		flex-direction: column;
		align-items: stretch;
	}

	.zo__buildings-grid {
		grid-template-columns: 1fr;
	}

	.card__header {
		flex-direction: column;
		align-items: stretch;
	}

	.card__actions {
		justify-content: flex-start;
	}

	.table--admin-actions .table__row {
		grid-template-columns: 1fr;
	}

	/* Exploration map: scrollable on mobile */
	.ex__map-section {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.ex__map-grid {
		min-width: 380px;
	}

	.ex__legend {
		gap: 6px 10px;
		font-size: var(--font-75);
	}

	/* Cockpit: reduce padding */
	.ckp__header {
		padding: 14px 16px;
	}

	.ckp__action {
		padding: 14px 16px;
	}

	.ckp__action-icon {
		font-size: var(--font-120);
	}

	/* Section page wrapper spacing */
	.section-page {
		gap: var(--gap-lg);
	}
}

