/*
 * PowerGIS Elementor · estilos mínimos.
 *
 * Cambia los colores aquí arriba (o en Elementor → Ajustes del sitio →
 * CSS personalizado, redefiniendo estas mismas variables en :root).
 */
:root {
	--pg-el-naranja: #FF7124;
	--pg-el-texto: #505050;
	--pg-el-suave: #8a8a8a;
	--pg-el-borde: #E7E2DC;
	--pg-el-listo: #16a34a;
	--pg-el-calculando: #d97706;
	--pg-el-error: #dc2626;
	--pg-el-borrador: #6b7280;
	--pg-el-avanzado: #FF7124;
	--pg-el-basico: #505050;
}

/* Insignias: [pg_insignia tipo="estado"] y [pg_insignia tipo="nivel"] */
.pg-el-insignia { display:inline-block; padding:3px 10px; border-radius:999px; font-size:12px;
	font-weight:600; line-height:1.5; color:#fff; background:var(--pg-el-borrador); white-space:nowrap; }
.pg-el-insignia--listo { background:var(--pg-el-listo); }
.pg-el-insignia--calculando { background:var(--pg-el-calculando); }
.pg-el-insignia--error { background:var(--pg-el-error); }
.pg-el-insignia--borrador { background:var(--pg-el-borrador); }
.pg-el-insignia--avanzado { background:var(--pg-el-avanzado); }
.pg-el-insignia--basico { background:transparent; color:var(--pg-el-basico); box-shadow:inset 0 0 0 1.5px var(--pg-el-borde); }

/* Botones: [pg_boton_informe], [pg_boton_mejorar], [pg_exportar] */
.pg-el-boton { display:inline-flex; align-items:center; gap:6px; padding:10px 18px; border-radius:999px;
	border:1.5px solid var(--pg-el-borde); background:#fff; color:var(--pg-el-texto); font-weight:600;
	font-size:14px; text-decoration:none; cursor:pointer; line-height:1.2; }
.pg-el-boton:hover { border-color:var(--pg-el-naranja); color:var(--pg-el-naranja); }
.pg-el-boton--cta { background:var(--pg-el-naranja); border-color:var(--pg-el-naranja); color:#fff; }
.pg-el-boton--cta:hover { filter:brightness(.95); color:#fff; }
.pg-el-boton.is-disabled, .pg-el-boton:disabled { opacity:.6; cursor:default; pointer-events:none; }
.pg-el-mejorar__error { display:block; color:var(--pg-el-error); font-size:13px; margin-top:6px; }
.pg-el-nota { color:var(--pg-el-suave); font-size:13px; }

/* [pg_informe ocultar_cabecera="titulo|si"] */
.pg-el-informe--sin-titulo .pg-report__header h1 { display:none; }
.pg-el-informe--sin-cabecera .pg-report__header { display:none; }

/* Rankings y tablas de administración */
.pg-el-ranking { list-style:decimal; margin:0; padding-left:1.4em; }
.pg-el-ranking li { padding:6px 0; border-bottom:1px solid var(--pg-el-borde); }
.pg-el-ranking__n { float:right; font-weight:700; color:var(--pg-el-texto); }
.pg-el-tabla { overflow-x:auto; }
.pg-el-tabla table { width:100%; border-collapse:collapse; font-size:14px; }
.pg-el-tabla th, .pg-el-tabla td { padding:8px 10px; border-bottom:1px solid var(--pg-el-borde); text-align:left; vertical-align:top; }
.pg-el-tabla th { font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--pg-el-suave); }
.pg-el-num { text-align:right; font-variant-numeric:tabular-nums; }
.pg-el-muted { color:var(--pg-el-suave); font-size:12px; }
.pg-el-vacio { color:var(--pg-el-suave); }

/* Escritorio de WordPress */
.pg-el-kpis { display:grid; grid-template-columns:repeat(2, 1fr); gap:8px; }
.pg-el-kpi { border:1px solid #dcdcde; border-radius:6px; padding:8px 10px; }
.pg-el-kpi__n { font-size:22px; font-weight:700; }
.pg-el-kpi__l { color:#646970; font-size:12px; }

/* ------------------------------------------------------------------ */
/* [pg_mis_proyectos] — panel «Mis proyectos»                          */
/* ------------------------------------------------------------------ */
/* El atributo `hidden` tiene que ganar siempre: si no, el `display:flex`
   de abajo (o el del tema) deja visible lo que el script esconde. */
.pg-mp [hidden] { display:none !important; }
.pg-mp { display:grid; grid-template-columns:minmax(260px, 320px) 1fr; border-top:1px solid var(--pg-el-borde);
	color:var(--pg-el-texto); font-size:14px; min-height:480px; }
.pg-mp--vacio { display:block; border:0; min-height:0; text-align:center; padding:40px 0; }
.pg-mp__lista { border-right:1px solid var(--pg-el-borde); padding:24px 14px 24px 0; }
.pg-mp__titulo { font-size:14px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; margin:0 0 14px; color:#222; }
.pg-mp__buscar { display:flex; align-items:center; gap:8px; border:1px solid var(--pg-el-borde); border-radius:8px;
	padding:0 12px; background:#fafafa; margin-bottom:12px; }
.pg-mp__buscar svg { width:16px; height:16px; fill:none; stroke:var(--pg-el-suave); stroke-width:2; flex:none; }
.pg-mp__buscar input { border:0 !important; background:transparent !important; box-shadow:none !important; padding:10px 0 !important;
	width:100%; font-size:14px; outline:none; }
.pg-mp__filtros { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px; }
.pg-mp__filtro { border:1px solid var(--pg-el-borde); background:#fff; color:var(--pg-el-texto); border-radius:999px;
	padding:6px 12px; font-size:12.5px; cursor:pointer; line-height:1.2; }
.pg-mp__filtro:hover { border-color:var(--pg-el-naranja); color:var(--pg-el-naranja); background:#fff; }
.pg-mp__filtro.is-active { background:var(--pg-el-naranja); border-color:var(--pg-el-naranja); color:#fff; }
.pg-mp__items { list-style:none; margin:0; padding:0; }
.pg-mp__items li { margin:0; }
.pg-mp__item { display:flex; flex-direction:column; gap:6px; width:100%; text-align:left; background:#fff; border:0;
	border-radius:10px; padding:14px 8px; cursor:pointer; color:inherit; font:inherit; }
.pg-mp__item:hover, .pg-mp__item:focus { background:#fff7f2; color:inherit; outline:none; }
.pg-mp__item.is-active { background:#fff1e8; box-shadow:inset 3px 0 0 var(--pg-el-naranja); }
.pg-mp__nombre { font-weight:600; color:#222; font-size:14.5px; }
.pg-mp__fila { display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.pg-mp__fila:last-child { justify-content:flex-start; }
.pg-mp__chip { background:#f3f4f6; border-radius:6px; padding:3px 8px; font-size:12px; color:var(--pg-el-suave); }
.pg-mp__fecha { font-size:12px; color:var(--pg-el-suave); }
.pg-mp__nivel { border-radius:999px; padding:2px 9px; font-size:11.5px; font-weight:600; background:#f3f4f6; color:var(--pg-el-suave); }
.pg-mp__nivel--avanzado { background:#fff1e8; color:#e0661f; }
.pg-mp__estado { border-radius:999px; padding:2px 9px; font-size:11.5px; font-weight:600; color:#fff; background:var(--pg-el-borrador); }
.pg-mp__estado--listo { background:var(--pg-el-listo); }
.pg-mp__estado--calculando { background:var(--pg-el-calculando); }
.pg-mp__estado--error { background:var(--pg-el-error); }
.pg-mp__sin { text-align:center; padding:24px 8px; }
.pg-mp__ninguno { color:var(--pg-el-suave); font-size:13px; padding:8px; }
.pg-mp__detalle { padding:24px 0 24px 32px; }
.pg-mp__vacio { display:flex; flex-direction:column; align-items:center; text-align:center; padding-top:48px; color:var(--pg-el-suave); }
.pg-mp__vacio svg { width:52px; height:52px; fill:none; stroke:#cfcfcf; stroke-width:2.2; stroke-linejoin:round; margin-bottom:12px; }
.pg-mp__vacio p { margin:0 0 18px; font-size:15px; line-height:1.5; color:#777; }
.pg-mp__vacio small { font-size:12.5px; color:#aaa; }
.pg-mp__panel header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px;
	border-bottom:1px solid var(--pg-el-borde); padding-bottom:14px; margin-bottom:16px; }
.pg-mp__panel h3 { margin:0; font-size:22px; color:#222; }
.pg-mp__insignias { display:flex; gap:6px; }
.pg-mp__datos { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:12px 24px; margin:0 0 22px; }
.pg-mp__datos div { margin:0; }
.pg-mp__datos dt { font-size:11.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--pg-el-suave); margin:0 0 2px; }
.pg-mp__datos dd { margin:0; color:#222; }
.pg-mp__acciones { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.pg-mp__descargas { display:flex; flex-wrap:wrap; align-items:center; gap:8px; width:100%; margin-top:6px; }
.pg-mp__descargas span { font-size:13px; color:var(--pg-el-suave); }
.pg-mp__nota { width:100%; margin:6px 0 0; font-size:13px; color:var(--pg-el-suave); }
.pg-mp__aviso { margin:0; padding:12px 14px; border-radius:10px; background:#f7f7f7; width:100%; }
.pg-mp__aviso--calculando { background:#fff7ed; color:#9a4a07; }
.pg-mp__aviso--error { background:#fef2f2; color:#991b1b; }
@media (max-width: 900px) {
	.pg-mp { grid-template-columns:1fr; }
	.pg-mp__lista { border-right:0; border-bottom:1px solid var(--pg-el-borde); padding-right:0; }
	.pg-mp__detalle { padding:24px 0; }
	.pg-mp__vacio { padding-top:12px; }
}
