/* IPR Mobile Menu — 1.6.1 (z-index ultra + overlay/panel arriba de todo) */
:root{
	--iprmm-bar-h: 56px;
	--anim: .25s;
}

.iprmm-bar{
	position: relative;
	/* Z muy alto para ganar cualquier "barra" o buscador con z-index agresivo */
	z-index: 2147483645;
	display: none;
	align-items: center;
	justify-content: space-between;
	height: var(--iprmm-bar-h);
	padding: 0 14px;
	background: var(--iprmm-bar-bg, linear-gradient(to bottom, #111827, #0b1020));
	color: var(--iprmm-bar-fg, #ffffff);
	box-shadow: 0 2px 10px rgba(0,0,0,.25);
}
.iprmm-sticky{ position: sticky; top: 0; }

.iprmm-brand{
	display:flex; align-items:center; gap:10px;
	text-decoration:none; color:inherit;
	font-weight:600; letter-spacing:.2px;
}
.iprmm-logo{ height:28px; width:auto; object-fit:contain; }
.iprmm-burger{
	width: 40px; height: 36px; background: transparent; border: 0;
	display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; cursor: pointer;
}
.iprmm-burger span{ display:block; width:24px; height:2px; background: var(--iprmm-burger, #ffffff); border-radius:10px; }

/* Overlay */
.iprmm-overlay{
	position: fixed; inset:0; background: var(--iprmm-overlay, rgba(0,0,0,.35));
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--anim) ease;
	/* Por encima de cualquier header/overlay de tema o plugins */
	z-index: 2147483646;
	backdrop-filter: blur(2px);
}
.iprmm-overlay.show{ opacity: 1; pointer-events: auto; }

/* Panel lateral */
.iprmm-panel{
	position: fixed; inset:0 0 0 auto; width: var(--iprmm-panel-w, min(86vw, 360px)); max-width: 90vw;
	background: var(--iprmm-panel-bg, #0b1020); color: var(--iprmm-panel-fg, #ffffff);
	transform: translateX(100%);
	transition: transform var(--anim) ease;
	/* El panel SIEMPRE arriba de todo (evita que lo pisen buscadores/topbars) */
	z-index: 2147483647;
	padding: 18px 16px 24px; overflow: auto; border-left: 1px solid rgba(255,255,255,.12);
	font-size: var(--iprmm-font-size, 16px);
	font-weight: var(--iprmm-font-weight, 500);
}
.iprmm-panel.open{ transform: translateX(0); }

.iprmm-panel ul{ list-style:none; margin:0; padding:0; }
.iprmm-panel li{ border-bottom: 1px dashed rgba(255,255,255,.08); }
.iprmm-panel a{ display:block; color:var(--iprmm-panel-fg, #ffffff); text-decoration:none; padding:12px 8px; }
.iprmm-panel a:hover{ background: rgba(124,58,237,.12); }

/* Submenús */
.iprmm-panel li.menu-item-has-children > a,
.iprmm-panel li.has-children > a{ padding-right: 40px; position: relative; }
.iprmm-subt{
	position: absolute; right:6px; top:50%; transform: translateY(-50%);
	width:30px; height:30px; border-radius:8px;
	background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
	cursor: pointer;
}
.iprmm-panel li.open > ul{ display:block; }
.iprmm-panel li > ul{ display:none; padding-left:10px; background: rgba(255,255,255,.03); }

/* Body lock */
body.iprmm-open{ overflow: hidden; }

/* Ayuda */
.iprmm-help{ background:#111827; border:1px solid rgba(255,255,255,.12); padding:12px; border-radius:10px; font-size:14px; opacity:.9; }

/* Estilo Cápsulas */
.iprmm-caps ul{ display:flex; flex-wrap: wrap; gap: 8px; }
.iprmm-caps li{ border:0; }
.iprmm-caps a{
	display:inline-block;
	padding: 10px 14px;
	border: 1px solid var(--iprmm-caps-border, rgba(255,255,255,.22));
	border-radius: 999px;
	background: var(--iprmm-caps-bg, rgba(255,255,255,.05));
	line-height: 1;
	color: var(--iprmm-caps-fg, #ffffff);
	font-weight: var(--iprmm-caps-font-weight, 600);
}
.iprmm-caps a:hover{ background: var(--iprmm-caps-hover-bg, rgba(255,255,255,.12)); border-color: rgba(255,255,255,.35); }

/* Estilo base del botón CTA (puede personalizarse con la clase configurada) */
.iprmm-cta{
	background:#ffffff;
	color:#8e30c1;
	border:1px solid rgba(142,48,193,.35);
}
.iprmm-cta:hover{
	background:#f5ebff;
	border-color:#8e30c1;
	text-decoration:none;
}
