/* ==========================================================================
   Sección "Dónde estamos" — Pisos Gómez
   Va clara, justo después de la banda negra de "Somos fábrica": la portada
   necesita respirar antes del pie.
   ========================================================================== */

.pg-contacto {
	--pg-mostaza: #e8ba40;
	--pg-mostaza-bajo: #a97f13;
	--pg-negro: #111111;
	--pg-blanco: #ffffff;
	--pg-crema: #fcfaf5;
	--pg-junta: #e6e3dc;
	--pg-cemento: #5a5a5a;
	--pg-ancho: 1220px;
	--pg-gutter: clamp(20px, 5vw, 40px);

	background: var(--pg-crema);
	color: var(--pg-negro);
	padding: clamp(56px, 7vw, 96px) var(--pg-gutter);
	font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
}

.pg-contacto__caja {
	max-width: var(--pg-ancho);
	margin: 0 auto;
}

/* --- encabezado ---------------------------------------------------------- */

.pg-contacto__intro {
	margin-bottom: clamp(28px, 4vw, 44px);
	max-width: 62ch;
}

.pg-contacto__volanta {
	margin: 0 0 14px;
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	/* mostaza más oscuro: sobre fondo claro el de marca no llega al contraste */
	color: var(--pg-mostaza-bajo);
	line-height: 1.3;
}

.pg-contacto__volanta::before {
	content: "";
	width: 34px;
	height: 3px;
	background: var(--pg-mostaza);
	flex: none;
}

.pg-contacto .pg-contacto__titulo {
	margin: 0 0 14px;
	font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(1.6rem, 3vw, 2.5rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -.01em;
	text-transform: uppercase;
	color: var(--pg-negro);
}

.pg-contacto__bajada {
	margin: 0;
	font-size: clamp(.95rem, 1.2vw, 1.05rem);
	line-height: 1.65;
	color: var(--pg-cemento);
}

/* --- tarjetas ------------------------------------------------------------ */

.pg-contacto__locales {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(18px, 2.5vw, 28px);
}

.pg-local {
	position: relative;
	background: var(--pg-blanco);
	border: 1px solid var(--pg-junta);
	padding: clamp(24px, 3vw, 34px);
	display: flex;
	flex-direction: column;
}

/* Filo mostaza arriba, como la junta de una baldosa. */
.pg-local::before {
	content: "";
	position: absolute;
	inset: -1px -1px auto -1px;
	height: 4px;
	background: var(--pg-mostaza);
}

.pg-local__etiqueta {
	margin: 0 0 6px;
	font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--pg-mostaza-bajo);
}

.pg-contacto .pg-local__ciudad {
	margin: 0 0 20px;
	font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(1.35rem, 2.2vw, 1.75rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -.01em;
	text-transform: uppercase;
	color: var(--pg-negro);
}

/* --- datos --------------------------------------------------------------- */

.pg-contacto .pg-local__datos {
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 14px;
	flex: 1 1 auto;
}

.pg-contacto .pg-local__dato {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: .95rem;
	line-height: 1.55;
	color: var(--pg-negro);
}

.pg-contacto .pg-local__dato::before,
.pg-contacto .pg-local__dato::marker {
	content: none;
}

.pg-local__icono {
	flex: none;
	width: 19px;
	height: 19px;
	margin-top: 3px;
	fill: none;
	stroke: var(--pg-mostaza-bajo);
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.pg-contacto .pg-local__dato a {
	color: var(--pg-negro);
	text-decoration: none;
	border-bottom: 1px solid var(--pg-junta);
	/* los correos son largos: que corten antes de desbordar la tarjeta */
	word-break: break-word;
}

.pg-contacto .pg-local__dato a:hover,
.pg-contacto .pg-local__dato a:focus-visible {
	color: var(--pg-mostaza-bajo);
	border-bottom-color: var(--pg-mostaza);
}

/* --- botones ------------------------------------------------------------- */

.pg-local__acciones {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.pg-contacto .pg-local__cta {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 13px 22px;
	background: var(--pg-mostaza);
	color: var(--pg-negro);
	font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
	text-decoration: none;
	border: 2px solid var(--pg-mostaza);
	border-radius: 0;
	line-height: 1;
	transition: background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.pg-contacto .pg-local__cta::after {
	content: "→";
	font-size: 14px;
	line-height: 1;
	transition: transform 180ms ease;
}

.pg-contacto .pg-local__cta:hover,
.pg-contacto .pg-local__cta:focus-visible {
	background: var(--pg-negro);
	border-color: var(--pg-negro);
	color: var(--pg-blanco);
}

.pg-contacto .pg-local__cta:hover::after {
	transform: translateX(4px);
}

.pg-contacto .pg-local__cta--linea {
	background: transparent;
	color: var(--pg-negro);
	border-color: var(--pg-negro);
}

.pg-contacto .pg-local__cta--linea:hover,
.pg-contacto .pg-local__cta--linea:focus-visible {
	background: var(--pg-negro);
	color: var(--pg-blanco);
}

.pg-contacto :focus-visible {
	outline: 3px solid var(--pg-mostaza-bajo);
	outline-offset: 3px;
}

/* --- celular ------------------------------------------------------------- */

@media (max-width: 767px) {
	.pg-contacto__locales {
		grid-template-columns: minmax(0, 1fr);
	}

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

	.pg-contacto .pg-local__cta {
		justify-content: center;
		box-sizing: border-box;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pg-contacto .pg-local__cta,
	.pg-contacto .pg-local__cta::after {
		transition-duration: 1ms;
	}
}
