/* JRLF-UI-03: ver la nota de arquitectura al inicio de reviews.css.
   Elementor es la fuente de verdad; :where() (especificidad cero) da el
   fallback visual para uso en shortcode sin panel de Elementor. */

.jrlf-location {
	box-sizing: border-box;
}

:where(.jrlf-location) {
	padding: 60px 24px;
}

.jrlf-location *,
.jrlf-location *::before,
.jrlf-location *::after {
	box-sizing: inherit;
}

.jrlf-location__inner {
	display: grid;
	grid-template-columns: var(--jrlf-text-width, 40%) 1fr;
	align-items: center;
}

:where(.jrlf-location__inner) {
	max-width: 1180px;
	margin: 0 auto;
	gap: 40px;
}

:where(.jrlf-location__title) {
	margin: 0 0 10px;
	line-height: 1.2;
}

:where(.jrlf-location__text) {
	margin: 0 0 16px;
	opacity: 0.9;
}

.jrlf-location__address {
	display: flex;
	align-items: flex-start;
	font-style: normal;
}

:where(.jrlf-location__address) {
	gap: 8px;
	margin: 0 0 16px;
	line-height: 1.55;
}

.jrlf-location__pin {
	flex: none;
}

:where(.jrlf-location__pin) {
	margin-top: 3px;
	color: var(--jrlf-star-color, #d4af6a);
}

:where(.jrlf-location__highlight) {
	font-weight: 600;
	margin: 0 0 20px;
}

:where(.jrlf-location__cta) {
	margin: 0;
}

.jrlf-location__button {
	display: inline-block;
	text-decoration: none;
}

:where(.jrlf-location__button) {
	height: 46px;
	line-height: 46px;
	padding: 0 22px;
	border-radius: 9px;
	background: #1a2b49;
	color: #fff;
	font-weight: 600;
	transition: opacity 0.2s ease;
}

.jrlf-location__button:hover {
	opacity: 0.88;
	color: #fff;
}

.jrlf-location__map {
	width: 100%;
	overflow: hidden;
}

:where(.jrlf-location__map) {
	height: 300px;
	border-radius: 18px;
	border: 1px solid rgba(20, 20, 20, 0.08);
	box-shadow: 0 12px 28px rgba(20, 20, 20, 0.08);
}

.jrlf-location__map iframe {
	display: block;
}

@media (max-width: 1024px) {
	:where(.jrlf-location) {
		padding: 46px 24px;
	}

	:where(.jrlf-location__map) {
		height: 260px;
	}
}

@media (max-width: 782px) {
	.jrlf-location__inner {
		grid-template-columns: 1fr;
	}

	:where(.jrlf-location__inner) {
		gap: 24px;
	}
}

@media (max-width: 600px) {
	:where(.jrlf-location) {
		padding: 34px 18px;
	}

	:where(.jrlf-location__map) {
		height: 220px;
	}
}
