/* ============================================================
   Card maps
   ============================================================ */
/* WP's constrained layout puts margin-inline:auto on group children. Inside a
   flex-column card that shrinks an empty map div to zero width, so force card
   children to fill. */
.ugta-card > *,
.ugta-card > .ugta-card-media {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	align-self: stretch;
	width: 100%;
}
.ugta-card-map {
	height: 150px;
	width: 100%;
	background: #e6eef6;
	z-index: 0;
}
.ugta-card-map .leaflet-control-container { display: none; }
.ugta-card-media { z-index: 0; }
.ugta-card-media .ugta-card-tag,
.ugta-card-media .ugta-card-price { z-index: 500; }

/* ============================================================
   MOBILE
   ============================================================ */

/* Nothing may push the page sideways. */
html, body { max-width: 100%; overflow-x: hidden; }
.ugta-lead-form input,
.ugta-lead-form select,
.ugta-lead-form textarea,
.ugta-filters input,
.ugta-filters select { box-sizing: border-box; max-width: 100%; }
.ugta-lead-form textarea { resize: vertical; }

@media (max-width: 960px) {
	/* Listing page: sidebar drops below the detail, stops being sticky. */
	.ugta-side { position: static; }
}

@media (max-width: 782px) {
	.ugta-section { padding-left: 1.15rem; padding-right: 1.15rem; }

	/* Spec block stacks label-over-value instead of a two-column grid that
	   long values would overflow. */
	.ugta-spec-block { padding: 1.15rem 1.15rem; }
	.ugta-spec-block dl { grid-template-columns: 1fr; gap: 0; }
	.ugta-spec-row {
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		gap: 1rem;
		padding: 0.6rem 0;
		border-bottom: 1px solid var(--wp--preset--color--border);
	}
	.ugta-spec-row:last-child { border-bottom: 0; }
	.ugta-spec-block dt { padding-top: 0; flex: 0 0 auto; }
	.ugta-spec-block dd { text-align: right; }

	.ugta-lead-gate { padding: 1.35rem; }
	.ugta-lead-gate h3 { font-size: 1.2rem; }

	/* Filters: full-width stacked controls, thumb-sized targets. */
	.ugta-filters { padding: 0.85rem; }
	.ugta-filters-row { gap: 0.5rem; }
	.ugta-filters-row select { flex: 1 1 100%; min-width: 0; }
	.ugta-filters-go { flex: 1 1 100%; padding: 0.85rem; }
	.ugta-filters-clear { display: block; width: 100%; text-align: center; padding: 0.5rem 0; }

	/* Category cards get more room for their copy at narrow widths. */
	.ugta-cat { aspect-ratio: 16 / 10; }
	.ugta-cat-body { padding: 1.15rem; }

	.ugta-seller { padding: 1.6rem; border-radius: 14px; }
	.ugta-seller-cta { width: 100%; }

	.ugta-card { padding: 1.1rem; }
	.ugta-card-specs { font-size: 0.82rem; }

	.ugta-trust { gap: 0.85rem 1.5rem; font-size: 0.86rem; }
	.ugta-trust strong { font-size: 1.15rem; }

	.ugta-hero-inner { padding-left: 1.15rem; padding-right: 1.15rem; }

	.ugta-agent-card { padding: 1.15rem; }

	/* Table-ish content and long strings can't force a scrollbar. */
	.wp-block-post-content table { display: block; overflow-x: auto; }
}

@media (max-width: 480px) {
	.ugta-hero h1 { font-size: clamp(1.85rem, 8vw, 2.3rem); }
	.ugta-card-map, .ugta-card-media svg { height: 130px; }
	.ugta-section-head--row { flex-direction: column; align-items: flex-start; gap: 0.75rem; }
}

/* Comfortable tap targets on touch devices. */
@media (hover: none) and (pointer: coarse) {
	.ugta-filters-row select,
	.ugta-lead-form input,
	.ugta-lead-form select { min-height: 46px; }
	.ugta-lead-submit, .ugta-filters-go, .ugta-btn { min-height: 48px; }
}
