/*
 * Header único .cpmc-header (fase 2.3). Mobile-first: la base es el panel lateral con botón;
 * un solo corte en min-width:768px pasa a menú en línea. Usa los tokens de cpmc-tokens.css.
 * Mantiene el aspecto de la antigua .subasta-nav (fondo blanco, onda celeste al 14%, sombra
 * suave, logo a la izquierda). Las clases son propias (cpmc-header*): no chocan con .nav-links /
 * .nav-toggle de los widgets de Elementor ni con el script de menú de functions.php.
 */

.cpmc-header {
	position: relative;
	z-index: 1000;
	width: 100%;
	background: var(--cpmc-background);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
	border-bottom: 1px solid rgba(0, 124, 186, 0.1);
}

/* Onda SVG de fondo, la misma del shape divider de Elementor. */
.cpmc-header::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 100" preserveAspectRatio="none"><path opacity="0.33" fill="%2300A8E8" d="M473,67.3c-203.9,88.3-263.1-34-320.3,0C66,119.1,0,59.7,0,59.7V0h1000v59.7 c0,0-62.1,26.1-94.9,29.3c-32.8,3.3-62.8-12.3-75.8-22.1C806,49.6,745.3,8.7,694.9,4.7S492.4,59,473,67.3z"/><path opacity="0.66" fill="%23007cba" d="M734,67.3c-45.5,0-77.2-23.2-129.1-39.1c-28.6-8.7-150.3-10.1-254,39.1 s-91.7-34.4-149.2,0C115.7,118.3,0,39.8,0,39.8V0h1000v36.5c0,0-28.2-18.5-92.1-18.5C810.2,18.1,775.7,67.3,734,67.3z"/><path fill="%23005a8b" d="M766.1,28.9c-200-57.5-266,65.5-395.1,19.5C242,1.8,242,5.4,184.8,20.6C128,35.8,132.3,44.9,89.9,52.5C28.6,63.7,0,0,0,0 h1000c0,0-9.9,40.9-83.6,48.1S829.6,47,766.1,28.9z"/></svg>');
	background-repeat: no-repeat;
	background-position: bottom;
	opacity: 0.14;
	pointer-events: none;
}

.cpmc-header__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 80px;
	padding: 0.5rem var(--cpmc-space-4);
}

.cpmc-header__logo {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	text-decoration: none;
}

.cpmc-header__logo img {
	height: var(--cpmc-logo-h-header);
	min-height: var(--cpmc-logo-h-header);
	width: auto;
	max-width: none;
	padding: 6px;
}

/* Botón: doble clase para ganarle a reglas de <button> sin scope de los widgets (p. ej. contacto). */
.cpmc-header .cpmc-header__toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: var(--cpmc-tap-min);
	height: var(--cpmc-tap-min);
	padding: 0;
	border: 0;
	border-radius: var(--cpmc-radius-lg);
	background: rgba(0, 124, 186, 0.1);
	color: var(--cpmc-foreground);
	box-shadow: none;
	cursor: pointer;
}

.cpmc-header .cpmc-header__toggle:focus-visible,
.cpmc-header__links a:focus-visible {
	outline: 2px solid var(--cpmc-ring);
	outline-offset: 2px;
}

.cpmc-header__icon--cerrar,
.cpmc-header__toggle[aria-expanded="true"] .cpmc-header__icon--abrir {
	display: none;
}

.cpmc-header__toggle[aria-expanded="true"] .cpmc-header__icon--cerrar {
	display: block;
}

/* Abierto en mobile: el mismo botón queda fijo sobre el panel y hace de "cerrar". */
.cpmc-header.is-open .cpmc-header__toggle {
	position: fixed;
	top: calc(var(--cpmc-adminbar, 0px) + 0.75rem);
	right: 1rem;
	z-index: 10001;
	background: rgba(220, 53, 69, 0.15);
	color: var(--cpmc-destructive-text);
}

/*
 * Con sesión de admin, #wpadminbar (position:fixed, z-index 99999) tapaba la ✕ y el panel del
 * menú mobile, que se anclaban a top:0. WordPress la hace de 32 px (46 px bajo 783 px); se
 * descuenta esa altura de lo que está fijo. Solo existe con body.admin-bar: visitantes, nada.
 */
body.admin-bar {
	--cpmc-adminbar: var(--wp-admin--admin-bar--height, 32px);
}

body.cpmc-menu-abierto {
	overflow: hidden;
}

/* Panel lateral (mobile). Cerrado: display:none, así sus links no entran en el orden de tab. */
.cpmc-header__nav {
	display: none;
}

.cpmc-header.is-open .cpmc-header__nav {
	display: block;
	position: fixed;
	top: var(--cpmc-adminbar, 0px);
	right: 0;
	z-index: 10000;
	box-sizing: border-box;
	width: min(260px, 85vw);
	height: calc(100vh - var(--cpmc-adminbar, 0px));
	height: calc(100dvh - var(--cpmc-adminbar, 0px));
	overflow-y: auto;
	padding: 4rem var(--cpmc-space-6) var(--cpmc-space-6);
	background: rgba(255, 255, 255, 0.98);
	box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
}

.cpmc-header.is-open .cpmc-header__backdrop {
	display: block;
	position: fixed;
	inset: var(--cpmc-adminbar, 0px) 0 0 0;
	z-index: 9999;
	background: rgba(0, 0, 0, 0.35);
}

.cpmc-header__links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.cpmc-header__links li {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid rgba(0, 124, 186, 0.1);
}

.cpmc-header__links li:last-child {
	border-bottom: 0;
}

.cpmc-header__links a {
	display: flex;
	align-items: center;
	min-height: 48px; /* panel mobile; en px: el rem de Astra no es 16px */
	padding: var(--cpmc-space-2);
	color: var(--cpmc-foreground);
	font-size: 1.1rem;
	font-weight: 500;
	text-decoration: none;
	transition: color var(--cpmc-transition);
}

.cpmc-header__links a:hover {
	color: var(--cpmc-primary-hover);
}

/* Desde 768: menú en línea; si no entra, bajan links enteros a una segunda fila. */
@media (min-width: 768px) {
	.cpmc-header__inner {
		min-height: 95px;
		padding: 0.6rem 1.25rem;
	}

	.cpmc-header .cpmc-header__toggle,
	.cpmc-header__backdrop {
		display: none !important; /* gana a .is-open: arriba de 768 no hay panel */
	}

	.cpmc-header__nav,
	.cpmc-header.is-open .cpmc-header__nav {
		display: block;
		position: static;
		width: auto;
		height: auto;
		overflow: visible;
		padding: 0;
		background: none;
		box-shadow: none;
	}

	.cpmc-header__links {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-end;
		column-gap: 0.2rem;
		row-gap: 0.1rem;
	}

	.cpmc-header__links li,
	.cpmc-header__links li:last-child {
		border-bottom: 0;
	}

	.cpmc-header__links a {
		min-height: var(--cpmc-tap-min);
		padding: 0.5rem 0.45rem;
		border-radius: var(--cpmc-radius-lg);
		font-size: 0.95rem;
		white-space: nowrap;
	}
}

@media (min-width: 1024px) {
	.cpmc-header__inner {
		min-height: 120px;
		padding-top: 0.75rem;
		padding-bottom: 0.75rem;
	}
}

@media (min-width: 1200px) {
	.cpmc-header__inner {
		padding-left: 3rem;
		padding-right: 3rem;
		justify-content: space-around;
	}
}

/* Saltar al contenido: invisible hasta que recibe el foco. */
.cpmc-header__skip {
	position: absolute;
	left: 0.5rem;
	top: -100px;
	z-index: 10002;
	padding: 0.75rem 1rem;
	background: var(--cpmc-primary);
	color: var(--cpmc-primary-foreground);
	border-radius: var(--cpmc-radius-md);
	text-decoration: none;
}

.cpmc-header__skip:focus {
	top: 0.5rem;
	color: var(--cpmc-primary-foreground);
}

.cpmc-header__links a[aria-current="page"] {
	color: var(--cpmc-primary-hover);
}
