/* =========================================================
   REALTOR CENTER 2.0 — HEADER DE PRODUCCIÓN
========================================================= */

.rcp-header,
.rcp-header *,
.rcp-header *::before,
.rcp-header *::after {
	box-sizing: border-box;
}

.rcp-header {
	position: sticky;
	top: 0;
	z-index: 5000;
	width: 100%;
	background: rgba(255, 255, 255, 0.985);
	border-top: 4px solid #202529;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.055);
	backdrop-filter: blur(16px);
}

.admin-bar .rcp-header {
	top: 32px;
}

.rcp-header__container {
	position: relative;
	width: min(1840px, calc(100% - 48px));
	min-height: 98px;
	margin-inline: auto;

	display: grid;
	grid-template-columns:
		minmax(310px, 370px)
		minmax(0, 1fr)
		auto;

	align-items: center;
	gap: 26px;
}

/* Marca corporativa integrada */

.rcp-brand {
	display: flex;
	align-items: center;
	gap: 15px;
	min-width: 0;
	text-decoration: none;
}

.rcp-brand__symbol-image {
	display: block;
	flex: 0 0 62px;
	width: 62px;
	height: 62px;
	object-fit: contain;
}

.rcp-brand__wordmark-image {
	display: block;
	width: min(285px, 100%);
	height: 58px;
	object-fit: contain;
	object-position: left center;
}

/* Navegación */

.rcp-navigation {
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: clamp(11px, 1.05vw, 21px);
}

.rcp-navigation a {
	position: relative;
	padding: 10px 0;
	color: #151515;
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(12px, 0.82vw, 14px);
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
}

.rcp-navigation a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: 3px;
	height: 2px;
	background: #dc941d;
	transition: right 180ms ease;
}

.rcp-navigation a:hover::after,
.rcp-navigation a:focus-visible::after {
	right: 0;
}

/* WhatsApp */

.rcp-whatsapp {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 0 27px;
	border-radius: 10px;
	background: linear-gradient(135deg, #efc563, #d59a30);
	color: #090909;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 15px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	box-shadow: 0 12px 28px rgba(188, 132, 27, 0.22);
}

/* Botón responsive */

.rcp-menu-button {
	display: none;
	width: 46px;
	height: 46px;
	padding: 10px;
	border: 1px solid rgba(0, 0, 0, 0.14);
	border-radius: 9px;
	background: #fff;
	cursor: pointer;
}

.rcp-menu-button span {
	display: block;
	width: 100%;
	height: 2px;
	margin: 5px 0;
	background: #111;
	transition: transform 180ms ease, opacity 180ms ease;
}

/* Monitores amplios */

@media (min-width: 1800px) {

	.rcp-header__container {
		width: min(1980px, calc(100% - 80px));
		min-height: 108px;
		grid-template-columns:
			minmax(380px, 430px)
			minmax(0, 1fr)
			auto;
		gap: 40px;
	}

	.rcp-brand__symbol-image {
		width: 70px;
		height: 70px;
		flex-basis: 70px;
	}

	.rcp-brand__wordmark-image {
		width: 330px;
		height: 66px;
	}

	.rcp-navigation {
		gap: 25px;
	}

	.rcp-navigation a {
		font-size: 15px;
	}

	.rcp-whatsapp {
		min-height: 58px;
		padding-inline: 31px;
		font-size: 16px;
	}
}

/* Escritorio intermedio */

@media (min-width: 1366px) and (max-width: 1599px) {

	.rcp-header__container {
		width: calc(100% - 32px);
		grid-template-columns:
			minmax(275px, 305px)
			minmax(0, 1fr)
			auto;
		gap: 16px;
	}

	.rcp-brand {
		gap: 10px;
	}

	.rcp-brand__symbol-image {
		width: 52px;
		height: 52px;
		flex-basis: 52px;
	}

	.rcp-brand__wordmark-image {
		width: 220px;
		height: 48px;
	}

	.rcp-navigation {
		gap: 11px;
	}

	.rcp-navigation a {
		font-size: 12px;
	}

	.rcp-whatsapp {
		min-height: 50px;
		padding-inline: 17px;
		font-size: 13px;
	}
}

/* Tablet y laptop pequeña */

@media (max-width: 1365px) {

	.rcp-header__container {
		width: calc(100% - 36px);
		min-height: 88px;
		grid-template-columns: minmax(0, 1fr) auto auto;
		gap: 15px;
	}

	.rcp-brand__symbol-image {
		width: 54px;
		height: 54px;
		flex-basis: 54px;
	}

	.rcp-brand__wordmark-image {
		width: 235px;
		height: 50px;
	}

	.rcp-menu-button {
		display: block;
	}

	.rcp-navigation {
		position: absolute;
		top: calc(100% + 1px);
		left: 0;
		right: 0;
		z-index: 5100;

		display: none;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 6px 28px;

		padding: 24px 28px;
		background: #fff;
		border: 1px solid rgba(0, 0, 0, 0.08);
		border-top: 0;
		border-radius: 0 0 16px 16px;
		box-shadow: 0 25px 42px rgba(0, 0, 0, 0.14);
	}

	.rcp-navigation.is-open {
		display: grid;
	}

	.rcp-navigation a {
		padding: 12px 3px;
		border-bottom: 1px solid rgba(0, 0, 0, 0.06);
		font-size: 15px;
		white-space: normal;
	}
}

/* Celular */

@media (max-width: 767px) {

	.admin-bar .rcp-header {
		top: 46px;
	}

	.rcp-header__container {
		width: calc(100% - 24px);
		min-height: 78px;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 10px;
	}

	.rcp-brand {
		gap: 8px;
	}

	.rcp-brand__symbol-image {
		width: 42px;
		height: 42px;
		flex-basis: 42px;
	}

	.rcp-brand__wordmark-image {
		width: min(175px, calc(100vw - 120px));
		height: 38px;
	}

	.rcp-whatsapp {
		display: none;
	}

	.rcp-navigation {
		grid-template-columns: 1fr;
		gap: 0;
		padding: 17px 20px;
		max-height: calc(100vh - 78px);
		overflow-y: auto;
	}

	.rcp-navigation a {
		padding: 14px 3px;
		font-size: 16px;
	}
}
